我有与我的视图模型绑定的Listbox。此视图模型有一个属性如何使Listbox中的某个项目可见但不可点击
我需要项目是可见的,但不可点击此字段的更改。任何建议,任何人
public interface IRegionAreaDM
{
/// <summary>
/// Name of the Focus Area
/// </summary>
string RegionAreaName { get; set; }
/// <summary>
/// Determines if the Tab is currently selected.
/// </summary>
bool IsSelected { get; set; }
/// <summary>
/// Determines if the Tab is linked to any other Tab
/// </summary>
bool IsLinked { get; set; }
/// <summary>
///
/// </summary>
bool IsActive { get; set; }
}
每个项目都连接到一个项目在XAML如名称与一个文本框。 IsSelected有复选框和IsActive是使ListBoxItems启用/禁用取决于逻辑 和我的XAML风格loooks像这样
<Style TargetType="ListBoxItem">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ListBoxItem">
<Border x:Name="Bd" HorizontalAlignment="Stretch" Background="#00D05252"
BorderThickness="0,1" SnapsToDevicePixels="true">
<!-- <StackPanel x:Name="ParamterRoot" Orientation="Horizontal"> -->
<Grid x:Name="ParamterRoot">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<CheckBox x:Name="ParametersCheckbox" Grid.Column="0" Margin="10,0,0,0"
VerticalAlignment="Center" IsChecked="{Binding IsSelected}"
<TextBlock Grid.Column="1" Width="Auto" Margin="20,7.5,0,7.5"
Text="{Binding RegionAreaName}" TextTrimming="CharacterEllipsis">
<TextBlock.Style>
<Style TargetType="{x:Type TextBlock}">
<Style.Triggers>
<Trigger Property="IsMouseDirectlyOver" Value="True">
<Setter Property="Cursor" Value="Hand" />
</Trigger>
</Style.Triggers>
</Style>
</TextBlock.Style>
</TextBlock>
</Grid>
<!-- </StackPanel> -->
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="true">
<Setter TargetName="Bd" Property="Background" Value="#FFC10000" />
</Trigger>
<Trigger Property="IsSelected" Value="true">
<Setter TargetName="Bd" Property="Background" Value="#FFC10000" />
</Trigger>
<DataTrigger Binding="{Binding IsActive}" Value="False">
<Setter Property="IsEnabled" Value="False" />
</DataTrigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
你想要所有的项目是不可点击的或只是适合基于vm属性的特定标准的项目吗?请提供更多的细节,以便我们可以帮助你。 –
只是在特定时间满足特定条件的一些项目。 –