WPF Binding: Как привязать данные к Grid? - PullRequest
5 голосов
/ 20 декабря 2010

Я создал класс Account.
Далее я создал другой класс ReorderWindowController, который имеет поле / свойство SelectedAccount типа Account.

Наконец, я написал ReorderWindow файл xaml окна WPF:

<Window ...

    <Window.Resources>

        <contollers:ReorderWindowController x:Key="WindowController" />

        <DataTemplate DataType="{x:Type entities:Account}">
            <Grid Width="140" Height="50" Margin="5">
                <TextBlock Text="Some awesome text" />
                <TextBlock Text="{Binding Name}" />
                <TextBlock Text="Even more awesome text" />
            </Grid>
        </DataTemplate>

    </Window.Resources>

    <Grid>
        <Grid 
            Name="AccountGrid" 
            DataContext="{Binding Source={StaticResource ResourceKey=WindowController},
                          Path=SelectedAccount}">
        </Grid>
    </Grid>

</Window>

Когда я запускаю свой код, AccountGrid ничего не показывает.Зачем?Как связать данные объекта с Grid и как использовать шаблон данных?Благодарю.

1 Ответ

8 голосов
/ 20 декабря 2010

Вместо сетки используйте ContentPresenter, например:

<Grid>         
<ContentPresenter
Name="AccountGrid"              
Content="{Binding Source={StaticResource ResourceKey=WindowController},                           Path=SelectedAccount}">  
   </ContentPresenter>
</Grid> 
...