矩形坐标绑定到滑块

时间:2014-03-05 08:25:52

标签: c# wpf xaml

如何将Y坐标绑定到滑块,将宽度绑定到组合框,这样当您更改滑块时,它看起来就像是在左侧爬行。

enter image description here

<Window x:Class="Grafik.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="MainWindow" Height="350" Width="525">
<Grid>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="80*"/>
        <ColumnDefinition Width="30*"/>
    </Grid.ColumnDefinitions>


    <TextBlock Grid.Column="1" Text="Y-Position des Objekts"/>
    <Slider Name="position" Minimum="0" Maximum="500" Canvas.Left="20" Grid.Column="1"/>
    <ComboBox x:Name="breite" Grid.Column="1" HorizontalAlignment="Left" Margin="5,40,0,0" VerticalAlignment="Top" Width="136">
        <ComboBoxItem >15</ComboBoxItem>
        <ComboBoxItem >30</ComboBoxItem>
        <ComboBoxItem >45</ComboBoxItem>
        <ComboBoxItem >60</ComboBoxItem>
    </ComboBox>

    <Canvas>
        <Rectangle Fill="Red" Width="10" Height="10" Canvas.Top="{Binding ElementName=position, Path=Value}"/>
    </Canvas>


</Grid>

1 个答案:

答案 0 :(得分:0)

当我使用你的代码时,绑定到滑块的值对我有用。

如果你在那里输入实数,你可以直接绑定到组合框的值。否则你必须使用适当的转换器。

<Window
    ...
    xmlns:system="clr-namespace:System;assembly=mscorlib" 
    >
    <ComboBox ...>
        <system:Double>15</system:Double>
        ...
    </ComboBox>
    <Rectangle ... Width={Binding SelectedItem ElementName=breite}/>

您可能希望使用以下选项预选宽度:

<ComboBox ... SelectedIndex="0">