![](/img/trans.png)
[英]Can I set my user control datacontext in xaml via a dependency property bound to a property on the parent control in wpf?
[英]WPF Custom control property set via XAML in own tag
我正在构建一个WPF控件,它将在“显示”模式下显示一个组件,然后单击一次,将切换到“编辑”模式下的组件。
将绑定这两个组件,以使编辑值反映在显示组件(通常是TextBlock)上。
我期望的XAML语法如下。
<ListView.View>
<GridView>
<GridViewColumn Width="140" Header="Rating Year">
<GridViewColumn.CellTemplate>
<DataTemplate>
<Controls:EditableControlContainer>
<Controls:EditableControlContainer.DisplayControl>
<TextBlock Text="{Binding ValueString}" />
</Controls:EditableControlContainer.DisplayControl>
</Controls:EditableControlContainer>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
</ListView.View>
背后的代码
public partial class EditableControlContainer : UserControl
{
private UserControl displayControl;
public UserControl DisplayControl {
get { return displayControl; }
set { displayControl = value; }
}
private UserControl editControl;
public UserControl EditControl {
get { return editControl; }
set { editControl = value; }
}
public EditableControlContainer() {
InitializeComponent();
}
}
我收到的错误是EditableControlContainer.DisplayControl无法识别或无法访问。
我也不确定是否可以包含一个对象或键入UserControl(最好是我想使用一种接口,尽管我不确定是哪一种)。
任何人都可以解释或提供指向资源的链接,该资源演示如何在XAML中配置UserControl中的属性吗?
我浏览了该论坛,但找不到任何涵盖此内容的内容。
非常感谢。
TextBlock不是UserControl,如果要在其中放置TextBlock,则需要将显示控件的类型更改为TextBlock。
private TextBlock displayControl;
public TextBlock DisplayControl {
get { return displayControl; }
set { displayControl = value; }
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.