1

私は基本的にこの状況を持っています:

<Style x:Key="MyListBoxItem" TargetType="{x:Type ListBoxItem}">
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="{x:Type ListBoxItem}">
                <Grid>
                    <ContentControl Content="{TemplateBinding Content}">
                        <!-- style stuff-->
                    </ContentControl>
                </Grid>
            </ControlTemplate>
        </Setter.Value>
    </Setter>
 </Style>

このListBoxを別のファイルに

<ListBox ItemsSource="{Binding Path=Users}" ItemsContainerStyle="{DynamicResource MyListBoxItem}">
    <ListBox.ItemTemplate>
         <DataTemplate>
              <TextBlock Text="{Binding Path=Id}"/>
         </DataTemplate>
    </ListBox.ItemTemplate>
</ListBox>

しかし、実行すると、リストボックスには .ToString() しか表示されません。うまく結合しません。itemTemplate を contentcontrol コンテンツ プロパティに正しく接続するにはどうすればよいですか?

何か非常に悪いことをしている疑いがあります。

4

1 に答える 1

1

ListBoxItem スタイルに ContentTemplate="{TemplateBinding ContentTemplate}" を追加します。

<ContentControl Content="{TemplateBinding Content}" ContentTemplate="{TemplateBinding ContentTemplate}">
                                    <!-- style stuff-->
                                </ContentControl>
于 2013-08-27T20:00:06.307 に答える