2013-11-15 54 views
0

我創建了一個在我的應用程序中使用的RadioButton樣式。它的顯示部分採用內容展示器來顯示我添加到按鈕的任何內容:WPF與綁定到樣式化按鈕的問題

<ContentPresenter> 
    <ContentPresenter.ContentTemplate> 
     <DataTemplate> 
     <Grid> 
      <TextBlock Text="{TemplateBinding Content}" /> 
     </Grid> 
     </DataTemplate> 
    </ContentPresenter.ContentTemplate> 
</ContentPresenter> 

然後我試圖小數綁定的字符串格式化的樣式按鈕,如下所示:

<RadioButton Content="{Binding Stake, StringFormat={}{0:C}}" Style="{DynamicResource NeutralSelectorButtonStyle}" /> 

Stake是設置爲DataContext的ViewModel中的小數。當我運行這個時,通過的內容是空白的。

我在DataTemplate中使用標籤而不是TextBlock進行了更改,但顯示的是小數,但沒有格式化它。

任何人都可以解釋爲什麼發生這種情況並可能提供解決方案。

如果您需要更多信息,請詢問:)

在此先感謝。

+0

當你調試這個時,你在'Output'窗口看過嗎?看看你是否有綁定錯誤? – gleng

+0

根本沒有綁定錯誤。我可以綁定到一個字符串沒有問題,如果我在內容演示者中使用標籤綁定值出現 – SumGuy

回答

1

你幾乎就在那裏而不是設置字符串格式內部綁定,你應該在ContentControls中使用ContentStringFormat屬性。

看看這個標籤(它的工作原理與任何內容控制):

<Label Content="{Binding Path=MaxLevelofInvestment}" ContentStringFormat="Amount is {0}"/> 

ContentPresenter也有這個特性:

http://msdn.microsoft.com/en-us/library/system.windows.controls.contentpresenter.contentstringformat%28v=vs.110%29.aspx

試試吧。我希望這個對你有用。

+0

+1我不知道我是如何忽略它! – gleng

+0

沒有運氣,我很害怕。嘗試使用我綁定到的按鈕上的ContentStringFormat並將其添加到我的資源中的DataTemplate。嘗試了不同的組合,格式從未添加 – SumGuy

+0

然後,您將不得不向我展示更多代碼。你究竟綁定了什麼? –