样式可防止复选框响应鼠标单击

时间:2014-04-10 00:15:25

标签: c# wpf xaml checkbox themes

我最近下载了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;
    }
}

有人能让我知道这个主题可能会被覆盖导致这种行为吗?

0 个答案:

没有答案