2

これが基本的な質問である場合は申し訳ありませんが、ListBox 用に持っている ItemTemplate を取得し、それをウィンドウのリソースに配置して、複数の 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>

これにより、「アタッチされたプロパティにはセッターがありません」という設計時エラーがスローされます。簡潔にするために、重要ではないと思われるコードの部分を削除しました。

ありがとう

4

6 に答える 6

5

itemtemplate をウィンドウのリソースに追加し、キーを追加するだけです:

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

そして、次のようなものでそれを適用します:

<ListBox ItemTemplate="{StaticResource myTemplate}">
 ...
</ListBox>
于 2009-03-13T08:21:45.937 に答える
1

投稿が古すぎて著者にとって興味深いものではないことはわかっていますが、同じ問題を抱えてグーグルで検索している人にとっては興味深いかもしれません. 問題は、ListBox 内で ListBox.ItemTemplate を使用する必要があることです。例えば、<ListBox ...><ListBox.ItemTemplate> ... </ListBox.ItemTemplate></ListBox>

于 2010-06-30T10:41:04.703 に答える
0

問題は、x:Name の代わりに x:Key プロパティをリソースに含める必要があることだと思います。

それを変更すると、魅力的に機能します:)

于 2009-03-13T09:51:56.827 に答える
0

Window クラスに次のタグがありますか?

xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
于 2009-03-13T10:06:17.557 に答える