创建一个简单的UserControl

时间:2014-03-06 14:08:58

标签: c# windows-store-apps winrt-xaml windows-store

我正在尝试创建一个简单的Windows应用商店应用。 我想在许多页面中重用一些“代码”。

例如,我需要在多个页面中重复使用这样的内容..

<StackPanel> 
   <TextBlock Text="Name"/>
   <TextBox x:Name="edtNome"/>

也许最好的方法是使用“UserControl”......但我无法实现!

我创建了我的MyUC.xaml

<UserControl
x:Class="Crud.View.MyUC"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:Crud.View"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
d:DesignHeight="300"
d:DesignWidth="400">

<Grid>
   <StackPanel>
       <TextBlock Text="Name"/>
       <TextBox x:Name="edtName"/>
   </StackPanel>

   

但是现在呢? 我想将它放在我的Page.xaml(以及许多其他)中,并从page.xaml代码后面访问“edtName”.....

我必须做什么?

1 个答案:

答案 0 :(得分:0)

像这样的东西

xaml中的

使用绑定路径。为控件添加x:名称。 ElementName =我'我'将是给你的控件的名字

<TextBox x:Name="edtName" Text="{Binding Path=EditName, ElementName=me, Mode=Default}" ..../>

在该代码后面添加

public string EditName
{
    get { return (string)GetValue(EditNameTextProperty); }
    set { SetValue(EditNameTextProperty, value); }
}

 public static readonly DependencyProperty EditNameTextProperty =
        DependencyProperty.Register("EditName",
            typeof(string),
            typeof(YourClassNameHereForThisControl),
            new FrameworkPropertyMetadata(""));