相关疑难解决方法(0)

DataTemplate与ItemContainerStyle

我已经看过其他一些Silverlight'vs'问题了,但找不到任何特别的比赛.

我正在尝试定义我的对象绑定到的方式ListBox将显示.我已经定义了一个DataTemplate,但我真的不确定它应该在哪里结束并且ItemContainerStyle应该开始.

问题1:ItemContainerStyle只是一个包装器,DataTemplate以便可以将一个共同的项目样式应用于不同的数据布局吗?

问题1a:如果是这样,如果不需要通用的项目样式,ItemContainerStyle甚至是必要的还是可以在DataTemplate?中定义所有的布局和样式?

问题1b:如果没有,那么它是什么?

ListBox目前这样的:

<ListBox Margin="40,118,41,61" ItemTemplate="{StaticResource TaskDataTemplate}"/>
Run Code Online (Sandbox Code Playgroud)

我的XAML DataTemplate是这样的:

<DataTemplate x:Key="TaskDataTemplate">
        <Grid d:DesignHeight="95" Height="150">
            <StackPanel Margin="11,8,-10,68" Orientation="Horizontal" d:LayoutOverrides="Width">
                <TextBlock x:Name="TaskLabel" Margin="0,0,0,8" Style="{StaticResource TitleTextSmall}" TextWrapping="Wrap" Text="Task" VerticalAlignment="Stretch" d:LayoutOverrides="Height"/>
                <TextBlock x:Name="TaskID" HorizontalAlignment="Right" Margin="10,0,0,0" Style="{StaticResource TitleTextSmall}" TextWrapping="Wrap" Text="TaskID" VerticalAlignment="Stretch" d:LayoutOverrides="Height"/>
                <TextBlock x:Name="ChangeList" Style="{StaticResource NormalText}" TextWrapping="Wrap" Text="Changes..." Margin="30,2,0,0"/>
            </StackPanel>
            <ComboBox x:Name="TaskType" Style="{StaticResource TaskComboBox}" Height="29" VerticalAlignment="Top" Margin="131,30,16,0" d:LayoutOverrides="VerticalAlignment"/>
            <TextBlock x:Name="TaskTypeLabel" Margin="12,39,0,0" …
Run Code Online (Sandbox Code Playgroud)

datatemplate itemcontainerstyle silverlight-4.0

7
推荐指数
1
解决办法
5822
查看次数

WPF MenuItem 图标共享

我想将图标绑定到动态创建这些项目的 MenuItem 控件。我试图将 x:Shared 属性设置为 False 但始终只有最后一项有图标。

这是我的 MenuItems ItemContainerStyle 代码样式:

<Window.Resources>
    <Style TargetType="{x:Type MenuItem}" x:Key="MenuItemStyle" x:Shared="False">
        <Setter Property="Icon">
            <Setter.Value>
                <Image Source="{Binding IconSource}" />
            </Setter.Value>
        </Setter>
    </Style>
</Window.Resources>
Run Code Online (Sandbox Code Playgroud)

和 MenuItem 定义:

<MenuItem Header="Workspaces" ItemsSource="{Binding WorkspaceItems}" Icon="{StaticResource BranchIcon}" ItemContainerStyle="{StaticResource MenuItemStyle}" />
Run Code Online (Sandbox Code Playgroud)

我已经尝试在 Image 控件上设置此 Shared 属性,但没有运气。

有什么建议吗?

c# wpf shared menuitem

4
推荐指数
1
解决办法
906
查看次数