WPF之積累

WPF中的ShowDialog方法與Show方法

InputWindow inputwin=new InputWindow();
bool? b=inputwin.ShowDialog();

——如果窗口是用ShowDialog方法打開的,那麼新窗口中對DialogResult賦值會自動關閉新窗口,並且把DialogResult的值通過ShowDialog方法的返回值返回。

——ShowDialog()的返回值類型是bool?,而Show()的返回值類型是void,如在新窗口中沒有對DialogResult屬性進行賦值,直接關閉窗口,那麼返回值爲false。

自行指定綁定的數據源RelativeSource
在數據綁定中,除了正常的數據模版綁定,還會涉及到模板內控件的事件綁定,在模板的數據綁定中只能顯示綁定的XXXModel中的字段,因爲DataContext類型爲XXXModel。我們想綁定XXXViewModel中的CompleteCommand事件,就需要自行指定綁定的數據源。(其他屬性如Content的綁定也同此)

<Window>
  <Button Command="{Binding DataContext.XXXCommand, RelativeSource={RelativeSource AncestorType=Window}}" CommandParameter="{Binding Path=DataContext, RelativeSource={RelativeSource  Mode=FindAncestor, AncestorLevel=1,AncestorType=ItemsPresenter}}" />
</Window>

AncestorLevel來確定向上查找的級別,AncestorType確定要查找的元素

DataGrid控件的過濾(Filter)

在界面上過濾條件A==條件B的數據

 Predicate<object> filter = new Predicate<object>((x) => (條件A==條件B));
 CollectionViewSource.GetDefaultView(xaml綁定的ItemSource).Filter = filter;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章