[英]Different templates of one UserControl WPF
因為它無論如何都在數據模板中
<DataTemplate>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<TextBox x:Name="TextElement" Grid.Column="0" Grid.ColumnSpan="1"/>
<Image x:Name="ImageElement" Grid.Column="1"/>
</Grid>
<DataTemplate.Triggers>
<DataTrigger Binding="{Binding SelectedLayout}" Value="{x:Static vm:Layout.ImageText}">
<Setter TargetName="TextElement" Property="Grid.Column" Value="1"/>
<Setter TargetName="ImageElement" Property="Grid.Column" Value="0"/>
</DataTrigger>
<DataTrigger Binding="{Binding SelectedLayout}" Value="{x:Static vm:Layout.TextOnly}">
<Setter TargetName="TextElement" Property="Grid.ColumnSpan" Value="2"/>
<Setter TargetName="ImageElement" Property="Visibility" Value="Collapsed"/>
</DataTrigger>
</DataTemplate.Triggers>
</DataTemplate>
或作為用戶控件
<UserControl x:Name="userControl" ...>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<TextBox Grid.Column="{Binding SelectedLayout, ElementName=userControl, Converter={StaticResource LayoutToColumnConverter}}"
Grid.ColumnSpan="{Binding SelectedLayout, ElementName=userControl, Converter={StaticResource LayoutToColumnSpanConverter}}"/>
<Image Grid.Column="{Binding SelectedLayout, ElementName=userControl, Converter={StaticResource LayoutToColumnConverter}, ConverterParameter=invertedOrWhatever}"/>
</Grid>
</UserControl>
<whatever:MyUserControl SelectedLayout="{Binding SelectedLayout, ElementName=LayoutCombobox}"/>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.