在我的Windows Store应用程序中,我有一个带有“添加”按钮的MainPage和一个UserControl,其中包含一个TextBlock和一个Rectangle。 当我单击MainPage上的“添加”按钮时,我想创建一个新的UserControl实例并将一个字符串值分配给TextBlock。 最后,我想将UserControl实例添加到MainPage上的容器元素。

这是我的ActionUserControl现在的样子:

<Grid x:Name="ActionGrid">
    <TextBlock x:Name="ActionText" Grid.Row="0" Text="Name Goes Here" />
</Grid>

和代码隐藏

public sealed partial class ActionUserControl : UserControl
{
        public string ActionName { get; set; }

        public ActionUserControl()
        {
            this.InitializeComponent();
        }
}

这就是我在MainPage AddButton_Click事件中所做的

private void AddButton_Click(object sender, PointerRoutedEventArgs e)
{
    // ActionCount holds number of active Actions
    ActionCount++;

    // Create an instance of the user control, and assign name
    ActionUserControl auc = new ActionUserControl();
    auc.ActionName = "Action " + ActionCount;

    // Add the user control to the container
    this.ActionContainer.Children.Add(auc);

    // Move the add button to the bottom of the container for consistency
    int childrenCount = this.ActionContainer.Children.Count;
    this.ActionContainer.Children.Move((uint)childrenCount - 1, (uint)childrenCount - 2);
}

我曾尝试在UserControl构造函数和PageLoad事件上分配ActionText.Text = ActionName,但是它们都为null。 我应该绑定ActionText.Text值,而不是尝试从代码隐藏中设置它吗?

#1楼 票数:1 已采纳

你可以...

  1. 使您的ActionName成为依赖项属性并绑定到它。
  2. 在ActionName属性设置器中的UserControls上更改文本块。

还考虑:为什么要在代码中创建用户控件? 您可以只将一个操作(作为字符串)添加到列表中,并使用DataTemplate将其显示在ListBox(或其他ItemsControl)中。

  ask by Freakishly translate from so

未解决问题?本站智能推荐:

1回复

使用UserControl在Listview中的DelegateCommand

如何在带用户控件的Lisview中使用DelegateCommand? 在我的Listview中,我像这样使用它: 我在UserControl中尝试: 和这个: 这两个代码都不起作用。 UserControl:
1回复

具有依赖项的UserControl属性

我创建了一个称为TagItem的UserControl类,该类目前仅由一个名为mainButton的Button组成。 它具有一个称为DisplayedTag的依赖项属性,它是Tag的类型(一个简单的类,包含有关我的标签的数据)。 我的目标是,当用户从XAML mainButton的文本
1回复

专注于userControl内的TextBox时检测虚拟键盘

我在winRT项目中具有以下FlipView 在它里面,我将有几个带有一些TextBox的用户控件,但是当我专注于其中一个TextBox时,虚拟键盘位于另一个TextBox的前面,它不会像平常一样简单地“抬起”应用程序带有文本框的页面。 有没有一种方法可以检测到键盘显示并拉出应用程
1回复

主页中UserControl中的按钮不响应Windows Store应用中的指针

为了在Split模板Windows Store应用程序中共享常见的显示布局,我在UserControl中放置了一个Back按钮,标题TextBlock和另一个按钮,然后在我的大多数页面中使用了该控件。 我的问题是在主页上,无论是指针悬停还是单击,两个按钮都不会对指针活动作出反应。 但是,它在
2回复

UWP:将值从UserControl传递到MainPage

我创建了一个UserControl,其中所有操作都在UserControl.xaml.cs中完成,我希望将UserControl中的特定属性(称为“值”)传递给在MainPage中创建的TextBlock。 为了测试对属性的访问,我已经在UserControl中创建了一个TextBlock,并
2回复

如何引用我的UserControl在“设置”窗格上显示它们?

我正在尝试为Windows Store应用程序实现自定义设置。 我有用户控件,例如UserControlAppBarColors.xaml: 基于亚当·内森(Adam Nathan)的第503-507页的书,我已将此代码添加到App.xaml.cs中: ...并将其发送到Mai
1回复

如何处理UserControl-Windows 8应用程序中的按钮的Click事件?

在Windows Store Apps中,我创建了一个UserControl来封装和重用隐藏代码并布局XAML。 “ ForumItem.xaml” UserControl: 我从UserControl创建十个项目,然后将其添加到myPage的Code-Behind中的Grid中:
1回复

使用XAML将控件添加到UserControl中的ItemsControl

我想编写一个行为类似于CommandBar的控件。 使用CommandBar,您可以编写: <CommandBar> <CommandBar.PrimaryCommands> <AppBarButton>B1</AppBar