I'm working on a WPF application using the Fluent.Ribbon library, and I'm facing an issue with setting the IsOpen property of the StartScreen control from my view model.
I have a MainViewModel that is set as the DataContext of my MainWindow, and I want to be able to control the visibility of the StartScreen from the view model.
Here's how my XAML looks:
<Fluent:Ribbon Grid.Row="0" FlowDirection="RightToLeft">
<!-- Start Screen -->
<Fluent:Ribbon.StartScreen IsOpen="{Binding IsStartScreenOpen}" />
<!-- Other ribbon content -->
</Fluent:Ribbon>
And here's the relevant property in my MainViewModel:
public class MainViewModel : INotifyPropertyChanged
{
private bool _isStartScreenOpen;
public bool IsStartScreenOpen
{
get { return _isStartScreenOpen; }
set
{
if (_isStartScreenOpen != value)
{
_isStartScreenOpen = value;
OnPropertyChanged(nameof(IsStartScreenOpen));
}
}
}
}
However, setting the IsStartScreenOpen property in my view model doesn't seem to update the visibility of the StartScreen control.
What am I missing? How can I properly set the IsOpen property of the StartScreen from my view model?
Any help or suggestions would be greatly appreciated. Thank you!
Your XAML markup is invalid and won't compile.
You should bind the property on the actual
StartScreenelement, e.g.: