如何覆盖MahApps Panorama Control的所选项目样式?

时间:2013-04-19 09:11:41

标签: wpf xaml mahapps.metro

我通过关联MahApps Panorama Control在我的项目中使用Mahapps.Metro.dll,因此我无法直接更改XAML-Code的{​​{1}}。 我认为可以覆盖Panorama Control中的值,但是当我这样做时没有任何变化,或者我改变了错误的属性。

MainWindow.xaml的问题是所选项目有白色边框,我找不到删除此选择样式的方法。我尝试了多种解决方案,例如更改style或更改控制模板(How to disable highlighting on listbox but keep selection?),但我的更改不会影响Panorama Control

在那里你可以看到Panorama Control XAML

1 个答案:

答案 0 :(得分:0)

这是继承样式的方式的问题,看看ListViewItems和ListBoxItems如何协同工作是很棘手的。我通过在后面的代码中插入以下内容来修复此问题。但是,它会丢失您选择的项目:

var listbox = MyPanorama.FindChildByType<ListBox>();
if (listbox != null)
{
    listbox.SelectedIndex = -1;
}

FindChildByType是一个简单的搜索,用于返回在Panorama下找到的第一个ListBox。如果您按名称搜索x:模板列表框的名称是“items”。