創建快捷鍵我能夠在運行時創建訪問鍵爲按鈕內容在設計時,但不能創建WPF MVVM如何在運行時
btnContent - - 「C & ancel」 - 它工作完美
btnContent - 「E & xit」---不工作,當我嘗試給字符'x'的acces鍵時,
我也嘗試過(_)下劃線和「退出」,但沒有運氣。我絕對需要在字符串「退出」中加下劃線「x」。
下面是我的鍵
<Style x:Key="LTC_ButtomForm_A" TargetType="{x:Type Button}">
<Style.Resources>
<converter:ConverterFirstPartTextButton x:Key="ConverterFirstPartTextButton" />
<converter:ConverterUnderlineTextButton x:Key="ConverterUnderlineTextButton" />
<converter:ConverterLastPartTextButton x:Key="ConverterLastPartTextButton" />
</Style.Resources>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Button}">
<Border x:Name="Fondo" Margin="0" Padding="10,0" Background="#FF253A94" BorderBrush="#00000000" BorderThickness="1" CornerRadius="5">
Text="{TemplateBinding Content,Converter={StaticResource ConverterFirstPartTextButton}}" TextAlignment="Center" TextWrapping="Wrap" VerticalAlignment="Center">
<Run Text="{TemplateBinding Content, Converter={StaticResource ConverterUnderlineTextButton}}" TextDecorations="Underline" />
<Run Text="{TemplateBinding Content, Converter={StaticResource ConverterLastPartTextButton}}" />
</TextBlock>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
其中風格ConverterFirstPartTextButton
Public Class ConverterFirstPartTextButton
Implements IValueConverter
#Region "IValueConverter Members"
Public Function Convert(value As Object, targetType As Type, parameter As Object, culture As CultureInfo) As Object _
Implements IValueConverter.Convert
Dim part As String = String.Empty
If value IsNot Nothing Then
part = value.ToString().Split("&").FirstOrDefault()
End If
Return part
End Function
Public Function ConvertBack(value As Object, targetType As Type, parameter As Object, culture As CultureInfo) _
As Object Implements IValueConverter.ConvertBack
Return value
End Function
#End Region
End Class
ConverterUnderlineTextButton
Public Class ConverterUnderlineTextButton
Implements IValueConverter
#Region "IValueConverter Members"
Public Function Convert(value As Object, targetType As Type, parameter As Object, culture As CultureInfo) As Object _
Implements IValueConverter.Convert
Dim underlineLetter As String = String.Empty
If value IsNot Nothing Then
underlineLetter = value.ToString().Split("&").LastOrDefault
End If
If underlineLetter = value Then
Return String.Empty
Else
underlineLetter = underlineLetter.Substring(0, 1)
Return underlineLetter
End If
End Function
Public Function ConvertBack(value As Object, targetType As Type, parameter As Object, culture As CultureInfo) _
As Object Implements IValueConverter.ConvertBack
Return value
End Function
#End Region
End Class
ConverterLastPartTextButton
Public Class ConverterLastPartTextButton
Implements IValueConverter
#Region "IValueConverter Members"
Public Function Convert(value As Object, targetType As Type, parameter As Object, culture As CultureInfo) As Object _
Implements IValueConverter.Convert
Dim part As String = String.Empty
If value IsNot Nothing Then
part = value.ToString().Split("&").LastOrDefault
End If
If part <> value And part.Length > 1 Then
part = part.Substring(1)
Return part
Else
Return String.Empty
End If
End Function
Public Function ConvertBack(value As Object, targetType As Type, parameter As Object, culture As CultureInfo) _
As Object Implements IValueConverter.ConvertBack
Return value
End Function
#End Region
End Class
這些轉換的主要用途是強調給定的文本和初始化期間其工作完美。但是當我在運行時更改內容時,它顯示爲上圖(圖2)。
它會幫助http://stackoverflow.com/questions/3056008/wpf-underline-a-letter-in-a-label-element – Anton
@安頓,thanx的答覆。已經檢查與給定的上述鏈接它不工作..是否有任何其他方式通過代碼幹什麼? – Selva