当前位置: 代码迷 >> .NET组件控件 >> binding的作用!解决办法
  详细解决方案

binding的作用!解决办法

热度:1353   发布时间:2013-02-25 00:00:00.0
binding的作用!!!!
这是选项卡里有个小叉号,实现关闭功能的前台代码。
HTML code
<my:TabControl x:Name="tab" Grid.Row="1">            <my:TabControl.Resources>                <Style x:Key="style" TargetType="my:TabItem">                    <Setter Property="HeaderTemplate">                        <Setter.Value>                            <DataTemplate >                                <Grid Margin="3">                                    <Grid.ColumnDefinitions>                                        <ColumnDefinition Width="*"></ColumnDefinition>                                        <ColumnDefinition Width="Auto"></ColumnDefinition>                                    </Grid.ColumnDefinitions>                                    <!--<TextBlock x:Name="tb" Text="{Binding HeaderText}" Grid.Column="0" FontSize="11" Margin="5 0 5 0" VerticalAlignment="Center" />-->                                    <Button Content="x" Click="Button_Click" FontSize="5" VerticalAlignment="Center" Grid.Column="1" Width="16" Height="16" Tag="{Binding}"></Button>                                </Grid>                            </DataTemplate>                        </Setter.Value>                    </Setter>                </Style>            </my:TabControl.Resources>        </my:TabControl>



Button属性里边Tag="{Binding}";binding这么写什么意思,后台代码中实现关闭功能小叉号的单击事件是这么写的:
C# code
 private void Button_Click(object sender, RoutedEventArgs e)       {          var btn = sender as Button;                   if (btn != null)                  {                    var data = btn.Tag as Data;                    //source.Remove(hash[data]);                    this.tab.Items.Remove(hash[data]);                   }        }

private Dictionary<Data, TabItem> hash = new Dictionary<Data, TabItem>();hash是这么定义的;
谁能解释一下,var data = btn.Tag as Data;这句话是怎么实现跟对应的textblock相关联的。

------解决方案--------------------------------------------------------
Binding的使用方法
  相关解决方案