2013-11-15 52 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

然后,您将不得不向我展示更多代码。你究竟绑定了什么? –