在WPF中使用2个文本块创建UserControl
我想创建一个UserControl,其中一个TextBlock作为标题,另一个TextBlock作为内容 HeaderTextBlock.xaml在WPF中使用2个文本块创建UserControl,wpf,xaml,data-binding,Wpf,Xaml,Data Binding,我想创建一个UserControl,其中一个TextBlock作为标题,另一个TextBlock作为内容 HeaderTextBlock.xaml 但我如何使用它和绑定头和内容文本块的值呢 创建两个普通CLR属性,或 如果需要绑定,请创建与标题和文本对应的两个dependencProperty 您只需创建依赖项属性以在代码隐藏中公开这些元素。然后,当您在另一个视图中使用控件时,您可以这样做。 向两个TextBlock添加名称,然后添加依赖项属性以在代码隐藏中更改它们 <StackP
但我如何使用它和绑定头和内容文本块的值呢
绑定
,请创建与标题
和文本
对应的两个dependencProperty
您只需创建依赖项属性以在代码隐藏中公开这些元素。然后,当您在另一个视图中使用控件时,您可以这样做。 向两个TextBlock添加名称,然后添加依赖项属性以在代码隐藏中更改它们
<StackPanel Orientation="Horizontal">
<TextBlock Text="Header"
Opacity=".6"
Margin="5"
Name="TextBlockHeader"/>
<TextBlock Text="Text"
Margin="5"
Name="TextBlockText"/>
</StackPanel>
然后你可以在另一个视图或控件中使用它,就像这样。。。也适用于绑定
<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
<local:HeaderTextBlock Header="{Binding Header}" Text="Hello WOrld"/>
</Grid>
您需要创建自定义控件,而不是使用userControl:
这太过分了。这可以很容易地通过用户控件实现。在xaml.cs代码中添加依赖属性或任何其他代码段是一种不好的做法。我同意,这是一种不好的做法。但这就是编写自定义控件的方式。只要它们是通用的,并且像其他控件一样工作,那么后面的代码就是答案。我同意并且不会将代码隐藏用于视图或应用程序逻辑。
<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
<local:HeaderTextBlock Header="{Binding Header}" Text="Hello WOrld"/>
</Grid>