Как мне вставить ItemTemplate для wpf ListBox в ресурсы окна? - PullRequest
2 голосов
/ 13 марта 2009

Извините, если это основной вопрос, но как я могу взять ItemTemplate, который у меня есть для ListBox, и поместить его в ресурсы для окна, чтобы его могли использовать несколько ListBox.

Вот немного XAML:

<Window x:Class="Example">
    <Window.Resources>
        <DataTemplate x:Key="dtExample">
            <ListBox.ItemTemplate>
            // styles go here...
            </ListBox.ItemTemplate>
        </DataTemplate>
    </Window.Resources>
    <ListBox ItemTemplate="{StaticResource dtExample}">
    // items go here...
    </ListBox>
</Window>

Это вызывает ошибку времени разработки «Прикрепленное свойство не имеет установщика». Для краткости я удалил части кода, которые, по моему мнению, не имели бы значения.

Спасибо

Ответы [ 5 ]

5 голосов
/ 13 марта 2009

просто добавьте шаблон элемента к ресурсу вашего окна и добавьте ключ:

<Window.Resource>
 <DataTemplate x:Key="myTemplate">
  ....
 </DataTemplate>
</Window.Resources>

и затем примените что-то вроде этого:

<ListBox ItemTemplate="{StaticResource myTemplate}">
 ...
</ListBox>
2 голосов
/ 13 марта 2009

Вы указали следующий код:

 <DataTemplate x:Key="dtExample">
        <ListBox.ItemTemplate>
        // styles go here...
        </ListBox.ItemTemplate>
    </DataTemplate>

но это не будет работать. Вы не можете предоставить <ListBox.ItemTemplate> непосредственно в своем шаблоне. тебе здесь не нужно просто создайте простую таблицу данных, и она должна работать.

1 голос
/ 30 июня 2010

Я знаю, что пост слишком старый, чтобы быть интересным для автора, но я могу быть интересным для тех, у кого такая же проблема, и гуглите ее. Как я вижу, проблема в том, что вы должны использовать ListBox.ItemTemplate внутри ListBox. Например, <ListBox ...><ListBox.ItemTemplate> ... </ListBox.ItemTemplate></ListBox>

0 голосов
/ 13 марта 2009

У вас есть следующие теги в вашем классе Window?

xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
0 голосов
/ 13 марта 2009

Мне кажется, проблема в том, что вы должны указывать свойства x: Key в своих ресурсах вместо x: Name ..

Измените это, и оно будет работать как шарм:)

...