我有一个ItemsControl
通过绑定显示列表。该列表属于ViewModel类型,然后在DataTemplate
中引用该列表以显示按钮。该按钮的UID绑定到视图模型的GUID。将新的视图模型添加到绑定列表时,我需要控制将要添加的按钮,因为用户需要能够拖放按钮。目前,我能找到的最接近的是找到显示按钮的ContentPresenter,但是该ContentPresenter的内容是视图模型类型。
是否可以找到已添加的按钮?还是我不应该使用DataTemplate
自己创建按钮来访问它们?
我已经使用VisualTree帮助器来获取内容演示者,但是没有设法找到按钮。
答案 0 :(得分:0)
您可以为Loaded
处理Button
事件:
<DataTemplate>
<Button Loaded="OnButtonLoaded" ... />
private void OnButtonLoaded(object sender, RoutedEventArgs e)
{
Button button = (Button)sender;
//...
}
在将VisualTreeHelper
实际添加到可视树并以任何方式加载之前,您将无法使用java.time.LocalDate
对其进行引用。