最近的乙個專案,需要在部分使用者登入的時候,隱藏datagrid中的一列,但是常規的繫結不好使,在下面舉個例子。
xaml部分**
viewmodel部分**
using galasoft.mvvmlight.command;顯示效果如下using system;
using system.collections.generic;
using system.componentmodel;
using system.linq;
using system.text;
using system.threading.tasks;
using system.windows;
namespace datagridcolumn
public event propertychangedeventhandler propertychanged;
private void inotifypropertychanged(string name)
}private visibility isvisibility;
public visibility isvisibility
set}
private relaycommand button1command;
public relaycommand button1command);}
}private relaycommand button2command;
public relaycommand button2command);}}}}
出現問題的原因是,datagridtextcolumn不屬於visual tree
解決方案有兩種:
一、採用**(**一)
1、新增乙個frameworkelement的**
2、用乙個不可見的contentcontrol繫結上一步的frameworkelement** 3、用**做為visibility的資料來源 二、使用freezable(**二)根據msdn裡freezable的相關文件,在remarks下有這樣的一句話
大意就是和其他的dependencyobject相比,在子屬性值更改時, freezable 物件提供更改通知。個人認為應該是由於freezable有這個特點,所以才能被用在這裡。
**如下
bindingproxy類
xaml引用bindingproxy
visibility繫結 效果如下,列二用的是方法一,列三用的是方法二作為新手,只能理解如此,希望有大神可以給好好的講解一下,謝謝。
WPF學習分享 一 DataGrid
最近由於想做乙個windows的桌面應用程式,正好最近看了一下c 在網上找了一下關於windwos桌面應用的相關檔案,最後選擇使用wpf來開發。使用datagrid用到的功能 datagrid通過使用資料繫結,實現資料的雙向通知。在datagrid的datagridcomboboxcolumn使用列...
pytorch框架下語義分割訓練實踐(一)
目錄 環境準備 開始訓練 torch 1.1.0 torchvision 0.3.0 tqdm 4.32.2 tensorboard 1.14.0 pillow 6.2.0 opencv python 4.1.0.25 這裡面幾個只有torch比較大,其他都很小,很快就裝完,安裝庫前務必裝下pip,...
MVVM模式解析和在WPF中的實現(一)
一 mvvm是model view viewmodel的簡寫,這種模式的引入就是使用viewmodel來降低view和model的耦合,說是降低view和model的耦合。也可以說是是降低介面和邏輯的耦合,理想情況下介面和邏輯是完全分離的,單方面更改介面時不需要對邏輯 改動,同樣的邏輯 更改時也不需...