在MVVM場景/節目堆疊面板,我想顯示/隱藏基於一個超鏈接點擊或點擊圖片的用戶控件。這在XAML中如何實現?如何隱藏在WPF MVVM
5
A
回答
4
綁定Visibility
屬性視圖模型的一個布爾值屬性,使用BooleanToVisibilityConverter
<Window.Resources>
<BooleanToVisibilityConverter x:Key="visibilityConverter" />
</Window.Resources>
...
<MyUserControl Visibility="{Binding IsMyUserControlVisible, Converter={StaticResource visibilityConverter}}" />
視圖模型:
private bool _isMyUserControlVisible;
public bool IsMyUserControlVisible
{
get { return _isMyUserControlVisible; }
set
{
_isMyUserControlVisible = value;
OnPropertyChanged("IsMyUserControlVisible");
}
}
0
說你有你的視圖模型,確定是否將一個布爾屬性顯示控制
public bool DisplayControl { get; set; }
<StackPanel Visibility="{Binding DisplayControl, Converter={StaticResource visibilityConverter}}"/>
+0
我沒有提到'INotifyPropertyChanged',你就會有在'二傳手使用DisplayProperty'以便每次數據更改時更新視圖。 –
13
使用一個切換按鈕,使用BooleanToVisibilityConverter
綁定您UserControl
的可見性:
定義的資源0使用BooleanToVisibiltyConverter
<Window.Resources>
<BooleanToVisibilityConverter x:Key="visibilityConverter" />
</Window.Resources>
而且你的控件綁定您StackPanel
的visibiilty :
<BooleanToVisibilityConverter x:Key="BoolToVisibility" />
的切換按鈕:
<ToggleButton x:Name="VisibilityToggle>
<Image Source="..." />
</ToggleButton>
用戶控制:
<MyControl Visibility="{Binding IsChecked, ElementName=VisibilityToggle, Converter={StaticResource BoolToVisibility}}" />
相關問題
- 1. 視圖控件顯示/隱藏WPF MVVM
- 2. WPF MVVM +用戶控件代碼隱藏
- 3. WPF/MVVM:重構代碼隱藏,使其準備好MVVM結合
- 4. 如何隱藏WPF AutoCompleteBox下拉框
- 5. 如何在WPF Ribbon控件中禁用隱藏/取消隱藏
- 6. 如何隱藏在通過C#WPF
- 7. 使用MVVM隱藏Silverlight DataGrid
- 8. WPF:隱藏contextMenu當空
- 9. 如何隱藏WPF網格溢出(像CSS溢出:隱藏)
- 10. 無法使用MVVM隱藏WPF中的控件
- 11. 從WPF MVVM項目中刪除代碼隱藏文件
- 12. 隱藏在WPF默認resizegrip
- 13. Datagrid行隱藏,在wpf vb.net
- 14. 如何隱藏wpf datagrid行選擇器
- 15. 如何隱藏WPF中的控件?
- 16. 如何隱藏WPF DocumentViewer的菜單欄?
- 17. WPF的NotifyIcon - 隱藏
- 18. WPF代碼隱藏
- 19. WPF隱藏與CollectionViewSource
- 20. 在MVVM在WPF
- 21. 如何在隱藏「dd」後隱藏「dd」
- 22. 如何隱藏在
- 23. 在WPF MVVM
- 24. WPF:在MVVM
- 25. WPF MVVM - 如何安排ViewModels
- 26. WPF - 如何通過MVVM
- 27. 如何獲取項目來源XamComboEditor的代碼隱藏在Wpf中
- 28. MVVM:將代碼隱藏轉換爲XAML
- 29. WPF代碼隱藏等效
- 30. WPF隱藏網格列
[數據綁定](http://msdn.microsoft.com/en-us/library/ms750612.aspx)的['能見度'](http://msdn.microsoft.com/en-us/library/system.windows.uielement.visibility(v = VS.95)的.aspx)使用'BoolToVisibiltyConverter' –
沒有財產上的VM布爾屬性在我看來,需要在ViewModel上定義一個屬性。請參閱我的答案,瞭解如何在XAML中執行此操作。 – Marc
@馬克,我看不出你的鏈接 – SNS