繁体   English   中英

通过XAML在自己的标记中设置的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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM