我正在使用
Fluent.Ribbon
库开发 WPF 应用程序,并且在从视图模型中设置 IsOpen
控件的 StartScreen
属性时遇到问题。
我有一个 MainViewModel
设置为我的 DataContext
的 MainWindow
,并且我希望能够在视图模型中控制 StartScreen
的可见性。
我的 XAML 如下所示:
<Fluent:Ribbon Grid.Row="0" FlowDirection="RightToLeft">
<!-- Start Screen -->
<Fluent:Ribbon.StartScreen IsOpen="{Binding IsStartScreenOpen}" />
<!-- Other ribbon content -->
</Fluent:Ribbon>
这是我的
MainViewModel
中的相关属性:
public class MainViewModel : INotifyPropertyChanged
{
private bool _isStartScreenOpen;
public bool IsStartScreenOpen
{
get { return _isStartScreenOpen; }
set
{
if (_isStartScreenOpen != value)
{
_isStartScreenOpen = value;
OnPropertyChanged(nameof(IsStartScreenOpen));
}
}
}
}
但是,在我的视图模型中设置
IsStartScreenOpen
属性似乎不会更新 StartScreen
控件的可见性。
我错过了什么?如何从我的视图模型中正确设置
IsOpen
的 StartScreen
属性?
任何帮助或建议将不胜感激。谢谢!
您的 XAML 标记无效,无法编译。
您应该将该属性绑定到实际的
StartScreen
元素上,例如:
<Fluent:Ribbon Grid.Row="0" FlowDirection="RightToLeft">
<Fluent:Ribbon.StartScreen>
<Fluent:StartScreen IsOpen="{Binding IsStartScreenOpen}">
...
</Fluent:StartScreen>
</Fluent:Ribbon.StartScreen>
</Fluent:Ribbon>