我在 WPF 4.5 中有一个画布,想用一个 UserControl 覆盖它,它主要包括
一个带有标签的网格和一个半透明的矩形作为背景:
<UserControl x:Class="Cwss.Tactical.Navigation.ObjectInfoView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:u="clr-namespace:Cwss.Utils.Converter"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
mc:Ignorable="d"
d:DesignHeight="300"
d:DesignWidth="300">
<UserControl.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="/Tactical/Styles/CommonStyle.xaml"></ResourceDictionary>
<ResourceDictionary>
<Style x:Key="AttrName"
TargetType="{x:Type Label}">
<Setter Property="Foreground"
Value="White" />
<Setter Property="FontSize"
Value="14"></Setter>
</Style>
<Style x:Key="AttrValue"
TargetType="{x:Type Label}">
<Setter Property="Foreground"
Value="Yellow" />
<Setter Property="FontSize"
Value="14"></Setter>
</Style>
</ResourceDictionary>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</UserControl.Resources>
<Grid Width="300"
Height="200">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Rectangle Panel.ZIndex="-1"
Opacity=".5"
Width="300"
Height="200"
Fill="Blue"
Stroke="Blue"
StrokeThickness="2"
RadiusX="8"
RadiusY="8">
</Rectangle>
<Label Style="{StaticResource AttrName}"
Grid.Column="0"
Content="Class"></Label>
<Label Style="{StaticResource AttrValue}"
Grid.Column="1"
Name="ObjectKnowledge_Clas"
Content="Hi"></Label>
<Label Style="{StaticResource AttrName}"
Grid.Column="0"
Grid.Row="1"
Content="Range"></Label>
<Label Style="{StaticResource AttrValue}"
Grid.Column="1"
Grid.Row="1"
Content="{Binding ObjectKnowledge.Range, Converter={u:RangetoStringConverter}}"></Label>
</Grid>
</UserControl>
对我来说奇怪的是第一个标签被渲染在矩形上,
但所有其他标签都没有。感谢您让我知道我在这里做错了什么!