Ищете лучшие знания DataTemplate в WPF и используемых в нем свойствах?

Мне нужны краткие сведения о шаблоне данных для настройки элемента управления (например, поля со списком, списка и т. д.) в WPF с использованием C#.NET. Так что, если у кого-нибудь есть какие-либо ссылки или примеры приложений, поделитесь ими со мной, пожалуйста.

Обновление: я немного познакомился с DataTemplate, но теперь я хочу узнать о терминах, используемых для DataTemplate, таких как ObservableCollection, DataContext, и о том, как установить свойство Binding в соответствии с потребностями пользователя. Мне нужна идея для разработки очень похожего типа примера приложения, такого как разделение каждого элемента Combo Box на три столбца и динамическое добавление различного содержимого в разные столбцы.

Заранее спасибо


person SharpUrBrain    schedule 03.12.2010    source источник


Ответы (3)


Вам следует ознакомиться с демонстрацией викторины WPF: http://community.infragistics.com/pixel8/media/p/91950.aspx Он научит вас MVVM и возможностям DataTemplates за один раз :)

person basarat    schedule 03.12.2010

вот это используется очень просто - но в основном DataTemplate позволяет вам представлять данные с помощью XAML

<ItemsControl ItemsSource="{Binding Path=SomeDataCollection}">
    <ItemsControl.ItemTemplate>
        <DataTemplate>
            <TextBlock Text="{Binding Path=SomeProperty}" />
        </DataTemplate>
    </ItemsControl.ItemTemplate>
</ItemsControl>
person Dean Chalk    schedule 03.12.2010
comment
Привет, Дин, спасибо за ваш ответ, я очень признателен за ваш ответ, и я буду более признателен, если вы поделитесь каким-либо образцом приложения, если оно у вас есть. Пример приложения, например разделение каждого элемента поля со списком на три столбца и динамическое добавление различного содержимого в разные столбцы. - person SharpUrBrain; 05.12.2010

Предположим, вы хотите показать кнопку в каждом элементе ComboBox, поэтому вы можете сделать это, переопределив его метод ItemTemplate.

  <ComboBox>
            <ComboBox.ItemTemplate>
                <DataTemplate>
                    <Button Content="Sa"></Button>
                </DataTemplate>
            </ComboBox.ItemTemplate>
   </ComboBox>

и в коде позади

        List<string> lst = new List<string>();

        for (int i = 0; i < 5; i++)
        {
            lst.Add("Sa" + i.ToString());
        }

        cmb.ItemsSource = lst;

так что теперь, когда вы запустите это, вы получите желаемый результат, каждый элемент комбинации будет кнопкой

person TalentTuner    schedule 03.12.2010