我将以下内容作为自定义用户控件:
<UserControl x:Class="TestGUI.TBorder">
<Border Style="{StaticResource brdListBoxItem}">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="35" />
<RowDefinition Height="5" />
<RowDefinition />
</Grid.RowDefinitions>
<TextBlock Grid.Row="0"
Grid.Column="0"
Style="{StaticResource tblTitleDataStyle}"
Text="{Binding Header, Mode=OneWay}" />
<Rectangle Grid.Row="1"
Grid.Column="0"
Margin="5,2"
Fill="{StaticResource BlueTextBrush}"
Height="1"
HorizontalAlignment="Stretch" />
<ContentPresenter Name="ccpMain"
Grid.Row="2"
Grid.Column="0"
Content="{Binding Content}" />
<!--<TextBlock Grid.Row="2"
Text="TEST HERE" />-->
</Grid>
</Border>
如果我注释掉“ContentPresenter”,并取消注释“TextBlock”,它会按预期显示。如果我将它设置为set,那么只显示的内容是标签内部的内容。例如:
<local:TBorder Grid.Row="2"
Grid.Column="0" Width="300"
Header="The Header">
<TextBlock Text="astnouhe" />
</local:TBorder>
仅显示“TextBlock”。
有人可以向我解释一下吗?
感谢您的帮助。
答案 0 :(得分:1)
您将内容设置为什么?如果您将其设置为问题中的XAML,那么它正在尝试在您的控件中显示文本本身。
您需要在答案中创建另一个使用XAML的控件,并将其设置为用户控件的内容,以便在用户控件旁边显示这些控件。