簡體   English   中英

在WPF中將borderbrush設置為LinearGradientBrush

[英]Setting borderbrush to LinearGradientBrush in WPF

我是WPF的新手,仍然有一些基本問題。

我有一個來自devcomponents的控件,默認為藍色邊框。 我的文本框等具有更灰色的顏色。 我希望devcomponents控件具有相同的邊框。

我查看TextBox的屬性,看看BorderBrush設置為“System.Windows.Media.LinearGradientBrush”但我不能放 -

<WpfEditors:IntegerInput BorderBrush="System.Windows.Media.LinearGradientBrush"...

事實上,我不能把 -

<TextBox BorderBrush="System.Windows.Media.LinearGradientBrush" ...

我錯過了什么魔法?

謝謝。

對於屬性BorderBrush你必須分配一個畫筆(你可以猜到它的名字)。

一種BrushLinearGradientBrush (在顏色之間產生漸變的東西) SolidColorBrush是另一種也可以被賦值的Brush。

因為它看起來像你使用的這種控件已經分配了一個LinearGradientBrush 現在您可以指定一個您選擇的畫筆並覆蓋已設置的Brush

LinearGradientBrush示例:

<TextBox>
  <TextBox.BorderBrush>
    <LinearGradientBrush StartPoint="0,0" EndPoint="1,0">
      <GradientStop Color="Black" Offset="0.0" />
      <GradientStop Color="White" Offset="1" />
    </LinearGradientBrush>
  </TextBox.BorderBrush>
</TextBox>

如果您希望邊框只是純色,您也可以使用SolidColorBrush

  <TextBox.BorderBrush>
    <SolidColorBrush Color="Red" />
  </TextBox.BorderBrush>

或者只使用現有的Converter Color - > SolidColorBrush

<TextBox BorderBrush="Red" Text="bla bla" />

編輯:

如果您希望所有控件都具有相同的Border,您可以將Brush添加到容器對象的ResourceDictionary ,並將其重用於所有控件...

<!-- Add the Brush as resource to the surrounding window -->
<Window.Resources>
  <SolidColorBrush x:Key="controlBorderBrush" Color="Gray" />
</Window.Resources>

<!-- -->
<TextBlock BorderBrush="{StaticResource controlBorderBrush}" Text="huhuuu" />
<otherlib:SpecialTextBlockWithOverriddenProps BorderBrush="{StaticResource controlBorderBrush}" Text="hahaaaaaaa" />

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM