在WPF中,根据数据绑定内容选择ItemContainerStyle
在#WPF中有ItemTemplateSelector。但是,也可以根据绑定对象的数据类型选择ItemContainerStyle吗 我正在数据绑定一个散点视图。我想根据DataContext中的对象设置生成的ScatterViewItems的一些属性。一个类似于样式的ItemTemplateSelector的机制会很好。有可能吗?我现在绑定到我要显示的对象中的属性以获得效果,但这感觉像是开销太大,太复杂了(最重要的是,我们的XU设计师自己无法做到这一点) 这是我现在使用的XAML。非常感谢你的帮助在WPF中,根据数据绑定内容选择ItemContainerStyle,wpf,data-binding,Wpf,Data Binding,在#WPF中有ItemTemplateSelector。但是,也可以根据绑定对象的数据类型选择ItemContainerStyle吗 我正在数据绑定一个散点视图。我想根据DataContext中的对象设置生成的ScatterViewItems的一些属性。一个类似于样式的ItemTemplateSelector的机制会很好。有可能吗?我现在绑定到我要显示的对象中的属性以获得效果,但这感觉像是开销太大,太复杂了(最重要的是,我们的XU设计师自己无法做到这一点) 这是我现在使用的XAML。非常感谢你的
<s:ScatterView x:Name="topicsViewer">
<s:ScatterView.ItemTemplateSelector>
<local:TopicViewerDataTemplateSelector>
<DataTemplate DataType="{x:Type mvc:S7VideoTopic}">
<Grid>
<ContentPresenter Content="{Binding MediaElement}" />
<s:SurfaceButton Visibility="{Binding MailToVisible}" x:Name="mailto" Tag="{Binding Titel}" Click="mailto_Click" HorizontalAlignment="Right" VerticalAlignment="Top" Background="Transparent" Width="62" Height="36">
<Image Source="/Resources/MailTo.png" />
</s:SurfaceButton>
<StackPanel Orientation="Horizontal" VerticalAlignment="Bottom" HorizontalAlignment="Center" Height="32">
<s:SurfaceButton Tag="{Binding MediaElement}" x:Name="btnPlay" Click="btnPlay_Click">
<Image Source="/Resources/control_play.png" />
</s:SurfaceButton>
<s:SurfaceButton Tag="{Binding MediaElement}" x:Name="btnPause" Click="btnPause_Click">
<Image Source="/Resources/control_pause.png" />
</s:SurfaceButton>
<s:SurfaceButton Tag="{Binding MediaElement}" x:Name="btnStop" Click="btnStop_Click">
<Image Source="/Resources/control_stop.png" />
</s:SurfaceButton>
</StackPanel>
</Grid>
</DataTemplate>
<DataTemplate DataType="{x:Type mvc:S7ImageTopic}">
<Grid>
<ContentPresenter Content="{Binding Resource}" />
<s:SurfaceButton Visibility="{Binding MailToVisible}" x:Name="mailto" Tag="{Binding Titel}" Click="mailto_Click" HorizontalAlignment="Right" VerticalAlignment="Top" Background="Transparent" Width="62" Height="36">
<Image Source="/Resources/MailTo.png" />
</s:SurfaceButton>
</Grid>
</DataTemplate>
<DataTemplate DataType="{x:Type local:Kassa}">
<ContentPresenter Content="{Binding}" Width="300" Height="355" />
</DataTemplate>
</local:TopicViewerDataTemplateSelector>
</s:ScatterView.ItemTemplateSelector>
<s:ScatterView.ItemContainerStyle>
<Style TargetType="s:ScatterViewItem">
<Setter Property="MinWidth" Value="200" />
<Setter Property="MinHeight" Value="150" />
<Setter Property="MaxWidth" Value="800" />
<Setter Property="MaxHeight" Value="700" />
<Setter Property="Width" Value="{Binding DefaultWidth}" />
<Setter Property="Height" Value="{Binding DefaultHeight}" />
<Setter Property="s:ScatterViewItem.CanMove" Value="{Binding CanMove}" />
<Setter Property="s:ScatterViewItem.CanScale" Value="{Binding CanScale}" />
<Setter Property="s:ScatterViewItem.CanRotate" Value="{Binding CanRotate}" />
<Setter Property="Background" Value="Transparent" />
</Style>
</s:ScatterView.ItemContainerStyle>
</s:ScatterView>
Bart Roozendaal,七步如何使用ItemContainerStyleSelector(duh!)。。。对不起,这是一个漫长的夜晚