【问题标题】:How to get all Properties of inside of usercontrol`s TextBox如何获取用户控件的文本框内部的所有属性
【发布时间】:2016-05-10 14:08:12
【问题描述】:

我在 c# wpf 中创建了一个UserControl。我想获取TextBox(txtCode)属性框的所有属性

<UserControl x:Class="WpfApplication2.UserControl1"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
             xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
             mc:Ignorable="d" Height="315.358" Width="758">
    <Grid >
        <TextBox x:Name="txtCode" HorizontalAlignment="Left" Height="97" Margin="134,62,0,0" TextWrapping="Wrap" Text="00001" VerticalAlignment="Top" Width="588" FontSize="30"/>
        <Label Content="Code" HorizontalAlignment="Left" Margin="27,72,0,0" VerticalAlignment="Top" Width="138" Height="97" FontSize="30"/>
        <Button Content="Submit" HorizontalAlignment="Left" Margin="290,186,0,0" VerticalAlignment="Top" Width="247" Height="48" FontSize="30"/>
    </Grid>
</UserControl>

在 Windows 窗体中类似于下图

c#代码

 public TextBox txtCodeProperties
        {
            get { return txtCode; }
            set { txtCode = value; }
        }

【问题讨论】:

标签: c# wpf


【解决方案1】:

如果您想公开整个 TextBox 及其所有属性,您应该查看x:FieldModifier。如果您只需要公开一些属性,您可以将它们公开为 DependencyProperties,as shown here

如何使用字段修饰符:

在您的UserControl1 中,将x:FieldModifier="public" 属性添加到您的文本框:

<TextBox x:Name="txtCode" x:FieldModifier="public" HorizontalAlignment="Left" Height="97" Margin="134,62,0,0" TextWrapping="Wrap" Text="00001" VerticalAlignment="Top" Width="588" FontSize="30"/>

然后,无论何时使用UserControl1,您现在都可以公开访问文本框。

示例用法(xaml):

<local:UserControl1 x:Name="myUserControl1" />

代码隐藏:

myUserControl1.txtCode.Text = "Hello, World!";

【讨论】:

  • 请给我一个 x:FieldModifier 的例子
  • 编辑了我的答案以包含 x:FieldModifier="public" 的示例
  • 那么您应该编辑您的问题以阐明您到底想要什么。根据您的要求,我给出的答案可以让您访问“TextBox 的所有属性”。如果您只需要一些属性,我还提供了一个链接。
  • 我编辑了我的问题并附上了一个 windows 窗体的示例,但它在 wpf 中不起作用,如果你有任何想法请与我分享
猜你喜欢
  • 2012-11-03
  • 2018-12-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多