我正在寻找创建自定义ItemsControl,其中嵌套项使用ElementName绑定到另一个控件。对于标准的ItemsControl,这个工作正常,绑定按预期工作
<ItemsControl>
<TextBox Text="{Binding Text, ElementName=test, UpdateSourceTrigger=PropertyChanged}"/>
</ItemsControl>
<TextBox x:Name="test"/>
但是,只要我使用继承自ItemsControl的自定义控件,如下所示
<!-- CustomItemsControl.xaml -->
<ItemsControl x:Class="MyControl.CustomItemsControl"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"/>
<!-- CustomItemsControl.xaml.cs -->
namespace MyControl
{
public partial class CustomItemsControl
{
public CustomItemsControl()
{
InitializeComponent();
}
}
}
<!-- Window.xaml -->
<local:CustomItemsControl>
<TextBox Text="{Binding Text, ElementName=test, UpdateSourceTrigger=PropertyChanged}"/>
</local:CustomItemsControl>
<TextBox x:Name="test"/>
然后ElementName绑定不再有效。有没有其他人看过这个问题,知道如何解决它?
非常感谢任何帮助。
答案 0 :(得分:1)
为什么需要CustomControl的xaml文件。您只需要在本地命名空间中创建一个继承自ItemsControl-
的类public class CustomItemsControl : ItemsControl
{
}
它应该按照预期工作.. !!