【问题标题】:How to create XAML container for combo box which is created?如何为创建的组合框创建 XAML 容器?
【发布时间】:2014-06-23 05:09:03
【问题描述】:

我正在研究 c# silverlight5,我正在使用 mvvm 方法来做到这一点。我有一种情况,我必须在 xaml 中创建 container,它可以容纳包含组合框和标签以及使用 c# 代码创建的文本框的 GUI。

然后我必须绑定在 xaml 中创建的这个容器才能在 c# 中使用它。

这个容器可以是类似 stackpanel 的东西,我可以在上面有组合框、文本框和标签,它们是用 c# 创建的。

结论:

(1)Xaml 文件将由容器和绑定组成。 (2) c# 代码将包含组合框和文本框和标签的代码,并在 xaml 中创建的容器上绑定 this。

有人可以给我一个这样做的小样本吗? 会有很大帮助。

【问题讨论】:

    标签: c# silverlight canvas data-binding ivalueconverter


    【解决方案1】:

    您可以使用UserControl,因为从代码隐藏中访问 UI 元素非常容易。示例:我们要创建一个名为DynamicContentUserControl

    <UserControl x:Class="DynamicContent">
        <Grid x:Name="LayoutRoot"></Grid>
    </UserControl>
    

    还有代码隐藏:

    public partial class DynamicContent : UserControl
    {
        public DynamicContent(){InitializeComponent();}
    
        public void AddComboBox(ComboBox combobox)
        {
            LayoutRoot.Childre.Add(combobox);
        }
    }
    

    但老实说:我不相信您真的需要以编程方式创建控件,大多数时候您可以通过使用 DataTemplates 来解决这种情况(当您需要动态创建 UI 元素时)。

    【讨论】:

    • 感谢您的回复,但问题确实很复杂。你的逻辑我已经知道了,但如果你真的想知道情况,请点击这个链接(这个问题还没有回答)stackoverflow.com/questions/23488983/…
    猜你喜欢
    • 1970-01-01
    • 2021-12-28
    • 1970-01-01
    • 2015-01-31
    • 1970-01-01
    • 1970-01-01
    • 2020-03-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多