【发布时间】:2013-09-29 21:33:16
【问题描述】:
我在 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 在当前上下文中不存在。
【问题讨论】:
-
你真的应该使用数据绑定而不是代码隐藏。
-
对了,你自定义控件是做什么的?
-
@HighCore 这只是一个例子。如果这个语句在这里不起作用,它就不会在我需要的地方起作用。
-
我的观点是,除非您有充分的理由,否则您通常不会子类化 WPF 控件。再说一次,你真的应该使用数据绑定。
m命名空间是如何声明的?发布完整的 XAML。 -
我刚刚用完整的 xaml 更新了问题
标签: c# wpf custom-controls