我最近下载了ReuxablesLegacy WPF主题,但我遇到了一个奇怪的问题。我的程序包含一个ListView
,其中包含一列Checkboxes。没有主题,它们正常运行并响应鼠标交互。但是,如果主题处于有效状态,则复选框根本不会响应鼠标点击。单击复选框时,不会触发Click,MouseDown和PreviewMouseDown事件。但是,MouseDown事件会在ListView
上触发。我已尝试在复选框上禁用该样式,但问题仍然存在。如果我通过单击按钮修改复选框,它们就会正常运行。
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="/ReuxablesLegacy;component/sleek.xaml" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
<ListView x:Name="listView"
ItemsSource="{Binding Album.Tracks}">
<ListView.View>
<GridView AllowsColumnReorder="False">
<GridViewColumn>
<GridViewColumn.CellTemplate>
<DataTemplate>
<CheckBox IsChecked="{Binding IsSelected,
Mode=TwoWay}"
IsEnabled="{Binding IsDownloadable}" />
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
这两种方法仍然会产生预期的行为:
private void ExecuteSelectAll()
{
foreach (var track in Album.Tracks.Where(t => t.IsDownloadable))
{
track.IsSelected = true;
}
}
private void ExecuteSelectNone()
{
foreach (var track in Album.Tracks)
{
track.IsSelected = false;
}
}
有人能让我知道这个主题可能会被覆盖导致这种行为吗?