WPF动画如何使用stringformat更改动画值

时间:2017-09-22 03:46:58

标签: c# wpf mvvm

我想用字符串格式绑定字符串值。

我尝试了很多方法,但它没有用。

有人可以帮我解决这个问题吗?

这是我目前使用的方式,但我仍然想使用StringFormat

我怎么能这样做?

<DiscreteObjectKeyFrame.Value>
    <MultiBinding Converter="{StaticResource DotConverter}">
         <Binding Path="LoadingStringShow"/>
         <Binding>
             <Binding.Source>
                <sys:Int16>1</sys:Int16>
             </Binding.Source>
         </Binding>
    </MultiBinding>
</DiscreteObjectKeyFrame.Value>

1 个答案:

答案 0 :(得分:0)

格式化字符串的最佳方法是在代码中执行此操作。

您可以使用string.Format()或C#6的新功能:"Interpolated Strings",如下所示格式化string

private string _name;
public string Name
{
    get {return $"My Name is {_name}";}
    set 
    {
        _name = value;
        //OnPropertyChanged("Name");
    }
}

然后您的Binding会显示:My Name is <valueofvariable>

由于您的绑定名称为LoadingStringShow,我假设您要显示某种加载消息。

也许这也有帮助:

<TextBlock Text="{Binding LoadingStringShow, StringFormat={}{0}%}" />

<TextBlock TextAlignment="Center">
<TextBlock.Text>
    <MultiBinding StringFormat="{}{0} - {1}%">
         <Binding Path="LoadingStringShow" />
         <Binding Path="CurrentValue" />
    </MultiBinding>
</TextBlock.Text>

Reference 1

Reference 2