我在StackPanel中有一个自定义控件
<Window x:Class="Video_Editor.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525"
xmlns:m="clr-namespace:Video_Editor">
<Grid>
</StackPanel>
<ScrollViewer Margin="10,40,10,10" Grid.Row="2" VerticalScrollBarVisibility="Auto">
<StackPanel Name="stackPanel" >
<m:CustomControl Name="testControl"/>
</StackPanel>
</ScrollViewer>
</Grid>
自定义控件当前不执行任何操作。
public class CustomControl: ItemsControl
{
}
我试图在窗口的构造函数中执行此操作:
public MainWindow()
{
InitializeComponent();
testControl.Items.Add("item");
}
我收到一个错误“名称” testControl在当前上下文中不存在。
您必须使用,x:Name
因为您是从另一个FrameworkElement
暴露Name
属性本身的派生类中获得的。
如果aFrameworkElement
设置了它的Name
属性(ItemsControl
似乎正在这样做),则无法Name
在派生类型上声明该属性,但是可以使用该Xaml
x:Name
属性,以便取消关注aName
并从后面的代码访问
例:
<StackPanel Name="stackPanel" >
<m:CustomControl x:Name="testControl"/>
</StackPanel>
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句