WPF: How do I bind a Control to a formula composed of several dependency properties?

Posted by Pablo on Stack Overflow See other posts from Stack Overflow or by Pablo
Published on 2010-06-12T22:43:44Z Indexed on 2010/06/12 22:53 UTC
Read the original article Hit count: 186

Filed under:
|
|
|

Hi all,

I'm working on Expression Blend and I'm currently designing a custom control which has a Grid with 5 rows inside, and also has two Dependency properties: "Value", and "Maximum". Three of the rows have fixed height, and what I'm trying to do is set the remaining rows height to "Value/Maximum" and "1-Value/Maximum" respectively. How do I go and do that?

When I set the height to "Value" it seems to react, but when I go and set it to "Value/Maximum" it stops working. I'm still a bit new around WPF, so there must be another way to achieve what I'm intending, but after searching I couln't find my problem elsewhere.

Code:

<Grid x:Name="LayoutRoot" Width="Auto" Background="Transparent">
    <Grid.RowDefinitions>
        <RowDefinition Height="32"/>
        <RowDefinition Height="{Binding Path=(Value/Maximum), ElementName=UserControl, Mode=Default}"/>
        <RowDefinition Height="16"/>
        <RowDefinition Height="{Binding Path=(1-Value/Maximum), ElementName=UserControl, Mode=Default}"/>
        <RowDefinition Height="32"/>
    </Grid.RowDefinitions>
    (...)

By the way, Value is always a not negative double less than or equal to Maximum; so the result of the division will be number between 0.0 a 1.0. I want a "star" instead of "pixel" row height.

© Stack Overflow or respective owner

Related posts about wpf

Related posts about properties