Tag: wpf

如何在解决方案中获取具有给定类的完整命名空间的程序集名称和类名?

我正在使用WPF,并且经常需要获取给定类的名称空间和程序集名称。 但我不知道该怎么做。 那么,如何在解决方案资源管理器中浏览类时和/和编辑类的代码时获取名称? 请帮忙!

WPF:PropertyChangedCallback只触发一次

我有一个用户控件,它公开了一个名为VisibileItems的DependencyProperty。每次该属性更新时,我都需要触发另一个事件。 为此,我添加了一个带有PropertyChangedCallback事件的FrameworkPropertyMetadata。 由于某种原因,此事件仅被调用一次,并且在下次VisibleItems更改时不会触发。 XAML: CurrentTables是MyViewModel上的DependencyProperty。 CurrentTable经常变化。 我可以将另一个WPF控件绑定到CurrentTables,我看到UI中的更改。 这是我使用PropertyChangedCallback连接VisibleItems的方式 public static readonly DependencyProperty VisibleItemsProperty = DependencyProperty.Register( “VisibleItems”, typeof(IList), typeof(MyFilterList), new FrameworkPropertyMetadata(null, FrameworkPropertyMetadataOptions.AffectsRender, new PropertyChangedCallback(VisiblePropertyChanged)) ); public IList VisibleItems { get { return (IList)GetValue(VisibleItemsProperty); } set { SetValue(VisibleItemsProperty, value); } } 通过单步进入VisiblePropertyChanged,我可以看到第一次设置CurrentTables时会触发它。 但不是随后的时间。 UPDATE 当你们中的一些人质疑CurrentTables的修改方式时,它会在更改时完全重新分配: OnDBChange()… CurrentTables = new List(MainDatabaseDataAdapter.GetTables(this.SelectedServer, this.SelectedDatabase)); 每次更改都会调用此行,但我的VisiblePropertyChanged处理程序仅在第一次调用时才会被调用。 UPDATE 如果我直接分配VisibleItems,每次都会调用处理程序! TestFilterList.VisibleItems = new […]

如何在WPF DataGrid中通过DataGrid标头CheckBox选择列的所有复选框

我有一个带有一个CheckBoxColumn的DataGrid。 在CheckBoxColumn的标题中,我添加了一个CheckBox来选择该Datagrid Row的所有CheckBox。 我怎样才能做到这一点? 我的WPF dataGrid的XAML代码:

什么方法可以阻止WPF Popup在屏幕外重新定位?

什么方法可以阻止WPF Popup在屏幕外重新定位? 我发现了这个老问题 ,但它没有得到正确答案。 有没有办法做到这一点? 如果有必要,我愿意将其子类化。 谢谢。

将整个ObservableCollection替换为另一个ObservableCollection

public class Alpha { public ObservableCollection Items { get; set; } public Alpha() { Items = new ObservableCollection(); } public void DoSomething() { Items = GetNewItems(); // whenever I do this, Items gets a new referene, // so every WPF binding (eg datagrids) are broken } public ObservableCollection GetNewItems() { var ret = new ObservableCollection(); […]

对齐wpf tabcontrol strip

我正在尝试对齐右边的tabcontrol条。 只是要清楚 – 我希望顶部的标签(tabstripplacement),但在右边对齐。

ItemsControl拖放

我有一个带有DataTemplate的ItemsControl,它绑定到整数的ObservableCollection。 并在Windows资源中: 我正在尝试实现在ItemsControl中拖放项目的能力(即能够重新排序整数)。 有没有人有一个如何做到这一点的简单例子? 我连接了PreviewMouseMove,DragEnter和Drop事件。 问题是我无法弄清楚如何确定拖动哪个项目以及拖动它的位置。 似乎整个ItemsControl都被传递到事件中。

从系统获取注销事件

我正在做一个应用程序,用于在用户注销时清除Temp文件,历史记录等。 那我怎么知道系统是否要注销(在C#中)?

无法在TextChanged中使用撤消

使用textbox.Undo()时; 我收到以下错误: 撤消单元打开时无法撤消或重做。 现在我理解为什么会出现这种情况(因为它是一个活动的可撤销事件)但是通过什么事件可以在文本框中执行validation并在用户键入无效字符时撤消更改?

将WPF Button CommandParameter绑定到DataTemplate中的Button本身

我有一个表示AppBar按钮的DataTemplate,我通过一组自定义AppBarCommand对象声明这些按钮。 public AppBarCommand(RelayCommand command, string buttonstyle) { Command = command; ButtonStyle = buttonstyle; } 我想添加一个CommandParameter绑定,但参数必须是Button本身。 这样我就可以设置Call​​isto弹出窗口的PlacementTarget。 这可能吗?