|
开发中偶尔会用到使用c#代码给控件赋值,这里需要通过F12找到控件的赋值类型,然后在看控件可以使用那种方式赋值,花点时间研究一下,基本都可以通过c#代码给控件赋值的。 页面代码:- <StackPanel>
- <Path Data="M0 0 10 10" Stroke="Red"
- StrokeThickness="2" x:Name="path" />
-
- <Border Margin="0 0 0 0" Width="100" Height="50" Background="#32FFA500" Name="bor">
-
- <Border.Effect>
-
-
- <DropShadowEffect Color="Red" ShadowDepth="10" Direction="-45" BlurRadius="15" Opacity="0.5"/>
- </Border.Effect>
- </Border>
- </StackPanel>
复制代码 后台赋值代码:- // 通过转换得到一个Data属性的值
- string str = "M0 0 10 10";
- // 这种是通过转换才能给控件赋值的-设置Path的Data属性
- this.path.Data=PathGeometry.Parse(str);
- // 这种是通过实例就能给控件赋值的 - 设置Margin属性
- this.bor.Margin= new Thickness(0, 0 , 0, 0);
- // 颜色值
- // RGB: 0 108 190
- // Alpha 0 - 255
- // # 90 00 6C BE (16进制的颜色值 90:透明度区间0-255,后面三位是Rgb值-区间0-255)
- // Color.FromRgb(0,108,190)- RGB: 0 108 190 这是设置RGB的颜色之
- this.bor.Background = new SolidColorBrush(Color.FromRgb(0,108,190));
- // Color.FromArgb(90, 0, 108, 190) 第一位参数透明度 0 - 255 区间范围 后面3位是Rgb值。
- this.bor.Background = new SolidColorBrush(Color.FromArgb(90,0,108,190));
- // #90006CBE 这个是十六进制的颜色值,90前两位是用来这只透明度的
- this.bor.Background = (SolidColorBrush)new BrushConverter().ConvertFrom("#90006CBE");
- //
- this.bor.Background = new BrushConverter().ConvertFrom("#90006CBE") as SolidColorBrush;
复制代码 以下代码使用C#为WPF控件赋值: - using System;
- using System.Windows;
- using System.Windows.Controls;
- public class MainWindow : Window
- {
- public MainWindow()
- {
- InitializeComponent();
- // 创建一个新的按钮
- Button myButton = new Button();
- // 设置按钮的文本
- myButton.Content = "点击我";
- // 设置按钮被点击时执行的事件处理程序
- myButton.Click += new RoutedEventHandler(MyButton_Click);
- // 将按钮添加到窗口中的网格中
- Grid myGrid = this.Content as Grid;
- myGrid.Children.Add(myButton);
- // 设置按钮的位置
- myButton.Margin = new Thickness(10);
- }
- private void MyButton_Click(object sender, RoutedEventArgs e)
- {
- MessageBox.Show("你点击了按钮!");
- }
- }
复制代码 在这个例子中,我创建了一个新的按钮,设置了它的文本,给它添加了一个点击事件处理程序,然后将它添加到了窗口的网格中。当然,你可以根据需要给控件设置更多的属性,比如背景颜色、字体等等。
来源:https://www.cnblogs.com/wjygxjz/archive/2023/09/13/17698526.html
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作! |
|