2010-04-20 56 views
3

嗨谁能告诉..how到选定的项目列表框绑定到文本框.. 我用的ElementName =路径= ..但是,正在显示什么...绑定选定项的文本框

+1

您能否提供绑定的整个XAML代码? 'ElementName'和'Path'并不是真正的详细信息。有趣的部分是你分配给这些属性的价值。 – gehho 2010-04-20 11:10:06

回答

6

这是SelectedItem.Content如何可以做到

<StackPanel> 
<TextBlock Width="248" Height="24" Text="Colors:" 
    TextWrapping="Wrap"/> 
<ListBox x:Name="lbColor" Width="248" Height="56"> 
    <ListBoxItem Content="Blue"/> 
    <ListBoxItem Content="Green"/> 
    <ListBoxItem Content="Yellow"/> 
    <ListBoxItem Content="Red"/> 
    <ListBoxItem Content="Purple"/> 
    <ListBoxItem Content="Orange"/> 
</ListBox> 
<TextBlock Width="248" Height="24" Text="You selected color:" /> 
<TextBlock Width="248" Height="24"> 
    <TextBlock.Text> 
     <Binding ElementName="lbColor" Path="SelectedItem.Content"/> 
    </TextBlock.Text> 
</TextBlock> 

5

集通过列表框的的SelectedItem网格的DataContext的,然后做正常的绑定如下

<Grid> 
<Grid.ColumnDefinitions> 
    <ColumnDefinition Width="3*"></ColumnDefinition> 
    <ColumnDefinition Width="5*"></ColumnDefinition> 
</Grid.ColumnDefinitions> 

<Grid> 
    <Grid.RowDefinitions> 
    <RowDefinition Height="Auto"></RowDefinition> 
    <RowDefinition Height="*"></RowDefinition> 
    </Grid.RowDefinitions> 

    <Button Margin="7,7,7,0" Padding="2" Click="cmdGetProducts_Click">Get Products</Button> 
    <ListBox Grid.Row="1" Margin="7,3,7,10" Name="lstProducts" HorizontalContentAlignment="Stretch" SnapsToDevicePixels="True"> 
    <ListBox.ItemContainerStyle> 
     <Style> 
     <Setter Property="Control.Padding" Value="0"></Setter> 
     <Style.Triggers> 
      <Trigger Property="ListBoxItem.IsSelected" Value="True"> 
      <Setter Property="ListBoxItem.Background" Value="DarkRed" /> 
      </Trigger> 
     </Style.Triggers> 
     </Style> 
    </ListBox.ItemContainerStyle>  
    <ListBox.ItemTemplate> 
     <DataTemplate> 
     <Grid Margin="0" Background="White"> 
     <Border Margin="5" BorderThickness="1" BorderBrush="SteelBlue" 
       CornerRadius="4"> 
      <Grid Margin="3"> 
      <Grid.RowDefinitions> 
       <RowDefinition></RowDefinition> 
       <RowDefinition></RowDefinition> 
      </Grid.RowDefinitions> 
      <TextBlock FontWeight="Bold" Text="{Binding Path=ModelNumber}"></TextBlock> 
      <TextBlock Grid.Row="1" Text="{Binding Path=ModelName}"></TextBlock> 
      </Grid> 
     </Border> 
     </Grid> 
     </DataTemplate> 
    </ListBox.ItemTemplate> 
    </ListBox> 


</Grid> 

<GridSplitter Grid.Column="1" HorizontalAlignment="Left" VerticalAlignment="Stretch" 
       Width="5"></GridSplitter> 

<Border Grid.Column="1" Padding="7" Margin="7" Background="LightSteelBlue"> 
    <Grid DataContext="{Binding ElementName=lstProducts, Path=SelectedItem}" > 
    <Grid.ColumnDefinitions> 
     <ColumnDefinition Width="Auto"></ColumnDefinition> 
     <ColumnDefinition></ColumnDefinition> 
    </Grid.ColumnDefinitions> 
    <Grid.RowDefinitions> 
     <RowDefinition Height="Auto"></RowDefinition> 
     <RowDefinition Height="Auto"></RowDefinition> 
     <RowDefinition Height="Auto"></RowDefinition> 
     <RowDefinition Height="Auto"></RowDefinition> 
     <RowDefinition Height="*"></RowDefinition> 
    </Grid.RowDefinitions> 

    <TextBlock Margin="7">Model Number:</TextBlock> 
    <TextBox Margin="5" Grid.Column="1" Text="{Binding Path=ModelNumber}"></TextBox> 
    <TextBlock Margin="7" Grid.Row="1">Model Name:</TextBlock> 
    <TextBox Margin="5" Grid.Row="1" Grid.Column="1" Text="{Binding Path=ModelName}"></TextBox> 
    <TextBlock Margin="7" Grid.Row="2">Unit Cost:</TextBlock> 
    <TextBox Margin="5" Grid.Row="2" Grid.Column="1" Text="{Binding Path=UnitCost}"></TextBox> 
    <TextBlock Margin="7,7,7,0" Grid.Row="3">Description:</TextBlock> 
    <TextBox Margin="7" Grid.Row="4" Grid.Column="0" Grid.ColumnSpan="2" 
      TextWrapping="Wrap" VerticalScrollBarVisibility="Visible" Text="{Binding Path=Description}"></TextBox> 

    </Grid> 
</Border> 

+0

谢谢它的工作正常......但如何可以做到这一点,而不指定文本框内的网格.. 我的意思,例如内文本框绑定ElementName作为ListBoxName和Path Path = SelectedItem.Content(但它不工作..你能告诉我吗..谢谢 – csensoft 2010-04-20 12:38:59

+0

我发布了SelectedItem.Content的样本作为新的答案 – 2010-04-21 03:45:50