【发布时间】:2018-01-04 16:25:13
【问题描述】:
如何在 C# 代码中访问 XAML 文件的边框? 搜索了一下,没找到,对WPF有点陌生,所以不知道怎么实现概念。
我想在 C# 中更改此元素的背景颜色。
谢谢
编辑
这是完整的代码
<Button x:Name="btnSNUcenik" Click="btnSNUcenik_Click">
<Button.Template>
<ControlTemplate TargetType="Button">
<DockPanel Width="215" Cursor="Hand">
<DockPanel.Style>
<Style TargetType="{x:Type DockPanel}">
<Setter Property="Background" Value="#2B303D"/>
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="#242631"/>
</Trigger>
</Style.Triggers>
</Style>
</DockPanel.Style>
<!-- right here -->
<Border x:Name="brdrSNUcenik" Padding="10" HorizontalAlignment="Center" Width="148">
<Label Content="Ucenik" Foreground="Gray" FontSize="15" VerticalContentAlignment="Center" HorizontalContentAlignment="Right" VerticalAlignment="Center" Margin="19,0,0,0"/>
</Border>
<Border Padding="10" HorizontalAlignment="Right">
<Border Padding="9" Background="#242631">
<Image x:Name="icons8_Graduation_Cap_48px_png" Height="25" Source="Images/icons8_Graduation_Cap_48px.png" Stretch="Fill" Width="25"/>
</Border>
</Border>
</DockPanel>
</ControlTemplate>
</Button.Template>
</Button>
【问题讨论】:
-
这是什么?文本框代码在哪里?
-
我想你会发现你的视图类中有一个变量叫做
brdrSNUcenik,你可以在代码中改变它。 -
@Neli 我试过了,它给了我一个 brdrSNUcenik 未定义的错误。
-
brdrSNUcenik在模板内。这意味着您不能简单地通过在后面的代码中输入名称来访问它,因为在运行时会创建多个边框实例。要更改边框颜色,请查看动态资源! -
可以访问它,但不是直截了当。您需要在运行时浏览可视化树,如@AlexPaven 答案中所述。
标签: c# .net wpf visual-studio