访问DataTemplates中包含的控件

时间:2012-10-15 19:24:27

标签: .net wpf combobox

鉴于以下XAML:

  <ListView Name="selectedCallees" ItemsSource="{Binding Path=map, RelativeSource={RelativeSource AncestorType=Window},
            Mode=OneWay}" Height="239" HorizontalAlignment="Stretch" VerticalAlignment="Top" Margin="10,215,10,0" >
     <ListView.Resources>
        <BooleanToVisibilityConverter x:Key="BooleanToVisibilityConverter1" />
        <Style TargetType="ListViewItem">
           <Style.Triggers>
              <DataTrigger Binding="{Binding IsMouseOver,RelativeSource={RelativeSource Self}}" Value="True">
                 <Setter Property="IsSelected" Value="True" />
              </DataTrigger>
           </Style.Triggers>
        </Style>
     </ListView.Resources>
     <ListView.View>
        <GridView AllowsColumnReorder="True" ColumnHeaderToolTip="Broadcast call targets">         
           <GridViewColumn Width="120">
              <GridViewColumn.CellTemplate>
                 <DataTemplate>
                    <ComboBox ItemsSource="{Binding Path=extensions, RelativeSource={RelativeSource AncestorType=Window}}"
                              Width="105" IsEditable="True" HorizontalAlignment="Center" Margin="0,0,0,0" BorderThickness="0" SelectedValue="------------"
                              SelectedItem="{Binding Path=Key, Mode=OneWay}" SelectionChanged="chooseExtension_SelectionChanged" >
                       <ComboBox.Resources>
                          <sys:Double x:Key="{x:Static SystemParameters.VerticalScrollBarWidthKey}">15</sys:Double>
                       </ComboBox.Resources>
                    </ComboBox>
                 </DataTemplate>
              </GridViewColumn.CellTemplate>
           </GridViewColumn>  
           <GridViewColumn DisplayMemberBinding="{Binding Path=Value}" Header="Description" Width="305" />
           <GridViewColumn Header="" Width="30">
              <GridViewColumn.CellTemplate>
                 <DataTemplate>
                    <Button Content="X" Height="21" Width="18" Click="Button_Click" Visibility="{Binding RelativeSource={RelativeSource AncestorType={x:Type ListViewItem}}, Path=IsMouseOver, Converter={StaticResource BooleanToVisibilityConverter1}}" />
                 </DataTemplate>
              </GridViewColumn.CellTemplate>
           </GridViewColumn>
        </GridView>
     </ListView.View>      
  </ListView>

如ComboBox.Resources中所述,我可以将SystemParameters.VerticalScrollBarWidthKey设置为某个值。我想要做的是在Loaded事件触发时将其设置为自定义(由ComboBox_Loaded处理)。

这是可能的,还是有另一种方法可以选择性地让ComboBox掉落箭头消失?

0 个答案:

没有答案