我找不出我的MultiBinding StringFormat行爲。我有一個DataContext,它通過屬性MinIncl和MaxIncl定義一個數字範圍。我想創建一個工具提示使用MultiBinding來創建一個像「1.0到999.0」的提示。我嘗試以下代碼:XAML MultiBinding StringFormat
<ToolTipService.ToolTip>
<StackPanel>
<TextBlock>
<TextBlock.Text>
<MultiBinding StringFormat="{}{0:F1} to {1:F1}">
<Binding Path="SelectedTrainingScriptParameter.MinimumInclusive"/>
<Binding Path="SelectedTrainingScriptParameter.MaximumInclusive"/>
</MultiBinding>
</TextBlock.Text>
</TextBlock>
</StackPanel>
</ToolTipService.ToolTip>
生成的工具提示爲「至999.0 1.0」。所以它已經改變了範圍並且首先將「to」這個詞放到了。
如果我刪除空格並嘗試「{} {0:F1}到{1:F1}」,我會得到正確的答案:「1.0to999.0」。
說真的,爲什麼空白和單詞「to」會破壞這件事?
謝謝。
-reilly。
我測試了你發佈的XAML,並且(至少對我來說),我的工具提示顯示「1.0到999.0」(用.NET 4.5和.NET 3.5試用)。因此,您使用的'StringFormat'確定。該問題似乎超出了您在問題中顯示的代碼範圍。 –
@fmunkert:你說得對。我的工具提示來自擴展WPF工具包(http://wpftoolkit.codeplex.com/wikipage?title=DoubleUpDown)中的DoubleUpDown控件。當我在TextBox上使用相同的綁定時,它工作正常。我從來沒有想過檢查控制... – Reilly