【问题标题】:Access from UserControl's properties to all of a inside control's properties从 UserControl 的属性访问所有内部控件的属性
【发布时间】:2018-10-22 02:10:18
【问题描述】:

所以,我制作了一个“自定义文本框”。 UserControl 只是一个带有 Rectangle 和 TextBox 的 Grid,如果鼠标悬停,后面的一些代码只会为矩形着色,并在 TextBox 的文本被键盘聚焦时着色。我想访问 TextBox 拥有的所有属性,而不必通过设置依赖属性然后将它们绑定到 XAML 中来手动连接每个属性。有没有办法让 TextBox 属性可以从 XAML 中访问?

【问题讨论】:

  • 您需要从“Textbox”类继承“自定义文本框”才能访问所有属性而无需连接。
  • 也许您甚至不需要创建派生控件。尝试为 TextBox 编写适当的 ControlTemplate。见Control Authoring Overview

标签: c# wpf xaml textbox user-controls


【解决方案1】:

是的,你可以做到。在UserControl 中输入您的TextBox 名称:

<TextBox x:Name="uscTbx" Text={Binding toSomething}/>

UserControl 后面的代码中定义一个属性:

public TextBox UscTexBox { get { return uscTbx; }}

在另一个窗口的 XAML 中,您可以访问 TextBox 的属性:

<local:UserControl1 x:Name="usc1"/>
<TextBox Text="{Binding Path=UscTexBox.Text, ElementName=usc1}"/>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-27
    • 1970-01-01
    相关资源
    最近更新 更多