创建&;通过c#代码设置wpf窗口渐变背景
通过C#动态创建一个窗口,我试图给它指定一个渐变背景,但我无法通过C#代码复制XAML 创建窗口(我尝试删除尽可能多的无关代码) 然后在窗口中构建元素创建&;通过c#代码设置wpf窗口渐变背景,c#,wpf,user-controls,C#,Wpf,User Controls,通过C#动态创建一个窗口,我试图给它指定一个渐变背景,但我无法通过C#代码复制XAML 创建窗口(我尝试删除尽可能多的无关代码) 然后在窗口中构建元素 Grid g = new Grid(); Grid.SetRow(GradientRectangle, 1); Grid.SetColumn(GradientRectangle, 1); StackPanel spM = new StackPanel(); TextBlock TblckErrMsg = new TextBlock(); Tbl
Grid g = new Grid();
Grid.SetRow(GradientRectangle, 1);
Grid.SetColumn(GradientRectangle, 1);
StackPanel spM = new StackPanel();
TextBlock TblckErrMsg = new TextBlock();
TblckErrMsg.Name = "Tblck_ErrMsg";
TextBlock TblckLine = new TextBlock();
TblckLine.Name = "Tblck_Line";
TblckLine.Text = "[GoToError]";
TblckLine.MouseDown += new System.Windows.Input.MouseButtonEventHandler((s, e) => TblckLine_MouseDown(s, e, parflPath, parlnNum));
spM.Children.Add(TblckErrMsg);
spM.Children.Add(TblckLine);
g.Children.Add(spM);
w_mbx.Content = g;
return w_mbx;
}
我想这里缺少了一些步骤,这就是我无法达到要求结果的原因 为什么不为它做一个样式呢?基本上:
- 在XAML中定义样式,然后
myDynamicWindow.SetResourceReference(Window.Style,“NameOfDefinedStyle”)代码>(相当于
)
<Style x:Key="WindowBase" TargetType="{x:Type Window}">
<!-- Shared properties -->
</Style>
<Style x:Key="DynamicWindowStyle" BasedOn="{StaticResource WindowBase}">
<!-- You can set a unique background gradient here -->
</Style>
注意:更改窗口背景并不像更改网格背景那样简单。如果您没有模板来覆盖窗口控件的默认设置,请告诉我,我将发布一个完整的工作示例。为什么不为它创建一个样式?基本上:
- 在XAML中定义样式,然后
myDynamicWindow.SetResourceReference(Window.Style,“NameOfDefinedStyle”)代码>(相当于
)
<Style x:Key="WindowBase" TargetType="{x:Type Window}">
<!-- Shared properties -->
</Style>
<Style x:Key="DynamicWindowStyle" BasedOn="{StaticResource WindowBase}">
<!-- You can set a unique background gradient here -->
</Style>
注意:更改窗口背景并不像更改网格背景那样简单。如果您没有模板覆盖窗口控件的默认值,请告诉我,我将发布完整的工作示例