2013-12-12 77 views
0

我有以下XAML和我想要的邊境Border.Effect屬性被設置爲「LightBlue」時的的財產器isChecked單選按鈕設置爲true。 如何在xaml中實現這一點? (需要找到一種通用的方法來做到這一點,因爲我有很多很多的控制這樣在我的應用程序)如何改變邊框的樣式在下面的XAML

請看以下XAML代碼:如果你想改變邊框的顏色

  <StackPanel Orientation="Vertical" HorizontalAlignment="Left"> 
       <RadioButton Width="15" HorizontalAlignment="Left" IsChecked="{Binding Count, Mode=TwoWay, Converter ={StaticResource IntegerToBooleanConverter}, ConverterParameter= 1}" GroupName="BCount"/> 
       <Border Background="LightGray" Margin="0,15,0,0" Height="300" Width="290" CornerRadius="5" HorizontalAlignment="Left"> 
        <StackPanel> 
         <Label Name="RadioLabel" Margin="15"> 
          <Label.Content> 
           <TextBlock> 
            <Run Text="{x:Static local:Properties.Resources.SelectText}" /> 
           </TextBlock> 
          </Label.Content> 
         </Label> 
         <Image Stretch="Fill" Height="40" Margin="17,70,17,15" Source="SomeImage.png"/> 
        </StackPanel> 
       </Border> 
      </StackPanel> 
+1

的Border.Effect屬性的類型的「效果」,你不能給它分配一種顏色。你究竟在做什麼? –

回答

0

,合適的物業是BorderBrush

<Border BorderBrush="LightBlue" BorderThickness="1" ...> 

使用DataTrigger當其他財產在某些狀態下改變這個(或任何)屬性。

0

也許這與kaxaml測試的小例子可以幫助你

<StackPanel HorizontalAlignment="Center" VerticalAlignment="Center" Orientation="Vertical"> 
    <CheckBox x:Name="RB" Width="15" HorizontalAlignment="Left"/> 
    <Border Width="290" Height="300" HorizontalAlignment="Left" Margin="0,15,0,0" Background="LightGray" CornerRadius="5"> 
    <Border.Style> 
     <Style TargetType="Border"> 
     <Style.Triggers> 
      <DataTrigger Binding="{Binding ElementName=RB, Path=IsChecked, Mode=OneWay}" Value="True"> 
      <Setter Property="Effect"> 
       <Setter.Value> 
       <DropShadowEffect BlurRadius="10" Color="LightBlue" ShadowDepth="0"/> 
       </Setter.Value> 
      </Setter> 
      </DataTrigger> 
     </Style.Triggers> 
     </Style> 
    </Border.Style> 
    <StackPanel> 
     <Label Name="RadioLabel" Margin="15"> 
     <Label.Content> 
      <TextBlock> 
      <Run Text="Test"/> 
      </TextBlock> 
     </Label.Content> 
     </Label> 
     <Image Height="40" Margin="17,70,17,15" Source="SomeImage.png" Stretch="Fill"/> 
    </StackPanel> 
    </Border> 
</StackPanel> 

希望幫助

enter image description here

+0

這正是我想要的。假設我希望這種風格被用於許多帶有邊框的單選按鈕,還有其他方法可以實現它(比如將其放入資源文件中)還是需要爲所有內容編寫內聯樣式? –