我在运行时动态创建复选框,并在运行时应用样式。 Designer开发了一个类似于控件的复选框,可以在运行时应用。然后他在该复选框控件上放置了一个Label,以显示复选框控件上的Text作为其来自Database的内容。但是当我在运行时应用复选框或标签的内容时,它会显示在设计人员开发的复选框控件的后面。如何使用Label控件在复选框控件上显示数据库中的内容。
请建议?
由于
答案 0 :(得分:0)
您应该查看复选框样式。它应该是复选框标记下liyng样式的标签(文本框)。以下是chekcbox模板的正确代码:
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Border Grid.Column="0">
<!--Place your mark here-->
</Border>
<Border Grid.Column="1">
<!--Place your label here-->
</Border>
</Grid>
答案 1 :(得分:0)
听起来我的设计师忘了在他的复选框模板中添加<ContentPresenter/>
。如果没有ContentPresenter
,则您添加为评论的文字将永远不会显示。
以下是包含所需ContentPresenter的自定义CheckBox ControlTemplate的示例:
<ControlTemplate TargetType="{x:Type CheckBox}">
<DockPanel>
<Border BorderThickness="1" BorderBrush="Black">
<Path x:Name="check" Width="10" Height="10"
Data=".... data for checkmark in checkbox ..." />
</Border>
<ContentPresenter/>
</DockPanel>
<ControlTemplate.Triggers>
<Trigger ... trigger for changing checkmark ... />
</ControlTemplate.Triggers>
</ControlTemplate>