我使用VS2012 Express附帶的默認WPF功能區。
當RibbonTextBox數據綁定到值爲1.75的viewmodel中的double屬性時,它將顯示它,並且允許修改小數點分隔符周圍的數字,而不會將其框爲紅色,就像輸入非數字字符(如「x」等)時一樣。
但是,一旦小數分隔符被刪除,就沒有辦法將其輸入到RibbonTextBox中。它接受無意義的字符,但不接受小數點分隔符。換句話說,在刪除小數分隔符後,它的行爲相當於int的數據綁定。WPF RibbonTextBox數據綁定加倍
XAML
xmlns:rib="http://schemas.microsoft.com/winfx/2006/xaml/presentation/ribbon"
...
<StackPanel Orientation="Horizontal" HorizontalAlignment="Stretch" >
<Label Content="Source Gamma " />
<rib:RibbonTextBox Text="{Binding SrcGamma, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Width="50"/>
</StackPanel>
背後
public double SrcGamma { get; set; } // initialised to 1.75d
注1 C#代碼:首先,我懷疑這是一個文化問題。我的Windows文化(cs-CZ)使用','小數點分隔符,但我的應用程序顯示'。'分隔器。
a)將Windows文化分隔符設置爲'。'沒有幫助。
b)根據this SO問題覆蓋應用程序語言環境後,顯示正確的Windows文化分隔符,但不能輸入。
注2: 在我的調查中,我添加了一個標準的TextBox(功能區外)。在向其添加自定義雙重驗證規則後,它開始表現,就像提到的RibbonTextBox一樣,。
在此先感謝您的任何建議。
這裏沒有文章SO ... –
對不起,我的意思是SO問題... – user681768917