如下圖所示,我有兩個四個文本框由四個圖像分隔。基於WPF中的TextBox Focus更改圖像顏色?
我想要做的是當我把焦點放在右邊的第一個文本框或左邊的第一個文本框上時,第一個左右箭頭圖像應該改變顏色。當焦點丟失時,顏色應該變回灰色。如果用戶轉到左側或右側的第二個文本框,則第二個左右箭頭圖標應該改變顏色等等。我怎樣才能做到這一點 ?
我嘗試用IsKeyboardFocusWithin TextBox屬性實現MultiDataTrigger,但無法存檔想要的結果。有什麼建議麼 ?
這裏是我的XAML代碼:(圖標是在第二StackPanel的Path屬性內)
<StackPanel Grid.Column="0">
<telerik:RadWatermarkTextBox Name="WatermarkTextBoxP1"
WatermarkContent="Parameterausdruck P1"
Margin="0,5,0,0" TabIndex="1"/>
<telerik:RadWatermarkTextBox Name="WatermarkTextBoxP2"
WatermarkContent="Parameterausdruck P2"
Margin="0,5,0,0" TabIndex="3"/>
<telerik:RadWatermarkTextBox Name="WatermarkTextBoxP3"
WatermarkContent="Parameterausdruck P3"
Margin="0,5,0,0" TabIndex="5"/>
<telerik:RadWatermarkTextBox Name="WatermarkTextBoxP4"
WatermarkContent="Parameterausdruck P4"
Margin="0,5,0,0" TabIndex="7"/>
</StackPanel>
<StackPanel Grid.Column="1" Margin="0,5,0,0">
<Path Fill="Gray" Margin="5,5,5,0" Stretch="Fill" Width="14" Height="11"
Data="F1 M 54,52.0001L 29.25,52.0001L 37.25,60L 26.75,60L 14.75,48.0001L 26.75,36L 37.25,36L 29.25,44.0001L 54,44.0001L 54,52.0001 Z M 22,23.9999L 46.75,23.9999L 38.75,16L 49.25,16L 61.25,27.9999L 49.25,40L 38.75,40L 46.75,31.9999L 22,31.9999L 22,23.9999 Z " />
<Path Fill="Gray" Margin="5,16,5,0" Stretch="Fill" Width="14" Height="11"
Data="F1 M 54,52.0001L 29.25,52.0001L 37.25,60L 26.75,60L 14.75,48.0001L 26.75,36L 37.25,36L 29.25,44.0001L 54,44.0001L 54,52.0001 Z M 22,23.9999L 46.75,23.9999L 38.75,16L 49.25,16L 61.25,27.9999L 49.25,40L 38.75,40L 46.75,31.9999L 22,31.9999L 22,23.9999 Z " />
<Path Fill="Gray" Margin="5,16,5,0" Stretch="Fill" Width="14" Height="11"
Data="F1 M 54,52.0001L 29.25,52.0001L 37.25,60L 26.75,60L 14.75,48.0001L 26.75,36L 37.25,36L 29.25,44.0001L 54,44.0001L 54,52.0001 Z M 22,23.9999L 46.75,23.9999L 38.75,16L 49.25,16L 61.25,27.9999L 49.25,40L 38.75,40L 46.75,31.9999L 22,31.9999L 22,23.9999 Z " />
<Path Fill="Gray" Margin="5,16,5,0" Stretch="Fill" Width="14" Height="11"
Data="F1 M 54,52.0001L 29.25,52.0001L 37.25,60L 26.75,60L 14.75,48.0001L 26.75,36L 37.25,36L 29.25,44.0001L 54,44.0001L 54,52.0001 Z M 22,23.9999L 46.75,23.9999L 38.75,16L 49.25,16L 61.25,27.9999L 49.25,40L 38.75,40L 46.75,31.9999L 22,31.9999L 22,23.9999 Z " />
</StackPanel>
<StackPanel Grid.Column="2">
<telerik:RadWatermarkTextBox Name="WatermarkTextBoxDesignP1"
WatermarkContent="Design Wert P1"
Margin="0,5,0,0"
TabIndex="2"/>
<telerik:RadWatermarkTextBox Name="WatermarkTextBoxDesignP2"
WatermarkContent="Design Wert P2"
Margin="0,5,0,0"
TabIndex="4"/>
<telerik:RadWatermarkTextBox Name="WatermarkTextBoxDesignP3"
WatermarkContent="Design Wert P3"
Margin="0,5,0,0"
TabIndex="6"/>
<telerik:RadWatermarkTextBox Name="WatermarkTextBoxDesignP4"
WatermarkContent="Design Wert P4"
Margin="0,5,0,0"
TabIndex="8"/>
</StackPanel>
</Grid>
你想要的箭頭變成綠色(或其他顏色)當特定文本框的重點是,正確的嗎?那些箭來自哪裏?我在屏幕截圖上看到他們,但沒有在代碼中聲明... –
@GeoffOverfield是的,他們應該變成綠色的例子。這些圖像位於中,只搜索Path,路徑實際上是圖標。 –
Devid