如何在Wpf中多重绑定ProgressBar的值?

时间:2013-11-06 22:32:10

标签: c# .net wpf xaml data-binding

Multibinding中有一个WPF的概念,如果我们想要绑定一些依赖于多个值的UI控件,这非常有用,例如this一个。

我正在尝试对ProgressBar执行相同的操作,就像我使用ProgressBar来显示用户使用了多少存储空间一样,这取决于两个属性。

  1. UsedStorage
  2. 的TotalStorage
  3. 搜索后,我找不到将Value ProgressBar属性与多个属性和自定义转换器绑定的方法。

    像(只是一个概念)

    <ProgressBar Width="172" Height="16" >
        <ProgressBar.Value>
            <MultiBinding Converter="{StaticResource myConverter}">
                <Binding  Path="UsedStorage" RelativeSource="{RelativeSource AncestorType={x:Type Window}}"/>
                <Binding  Path="TotalStorage"  RelativeSource="{RelativeSource AncestorType={x:Type Window}}"/>
            </MultiBinding>
        </ProgressBar.Value>
    </ProgressBar>
    

    但问题是MultiBinding下没有像ProgressBar.Value这样的内容。所以问题是,

    有没有办法MultiBind ProgressBar Value

1 个答案:

答案 0 :(得分:2)

即使Visual Studio intellisense可能没有显示,它也完全有效。

但是,使用RelativeSource TemplatedParent仅适用于ControlTemplate。我不清楚你想从哪里获取你的价值。