【发布时间】:2011-01-30 22:47:39
【问题描述】:
好的,所以情况是这样的:
我有一个 ItemsControl,其中包含多个子项。
孩子实际上是一个 UserControl,这就是 Xaml:
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<!--DAY HEADER-->
<Border x:Name="dayHeader" Height="20" BorderBrush="#B0B6BE" BorderThickness="1" Grid.Row="0" Background="{StaticResource WeekHeader}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="0" HorizontalAlignment="Left" VerticalAlignment="Center" TextAlignment="Center"
TextWrapping="NoWrap" Margin="1.5,0,0,0" Text="18"/>
<TextBlock Grid.Column="1" HorizontalAlignment="Center" VerticalAlignment="Center" TextAlignment="Center"
TextWrapping="NoWrap" Margin="2,0,0,0" Text="Thuesday" />
</Grid>
</Border>
<!--DAY HOURS-->
<ItemsControl x:Name="dayHours" Grid.Row="1">
<ItemsControl.ItemTemplate>
<DataTemplate>
<Border Name="dayHourBorder" Height="30" BorderBrush="#B0B6BE" Width="193" Tag="{Binding Index}" BorderThickness="1,0,1,1" Background="AliceBlue"
MouseLeftButtonDown="dayHourBorder_MouseLeftButtonDown" MouseLeftButtonUp="dayHourBorder_MouseLeftButtonUp"
MouseMove="dayHourBorder_MouseMove" />
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</Grid>
简短 这是一个网格,第一行有一个边框 在第二行有一个 ItemsControl。
现在……我想做的是,每当我在子 ItemControls(白天)之间单击时,我希望它们在 LostFocus() 事件和 GotFocus() 事件上执行一些功能。
问题是......他们不开火!它尝试从各个可能的角度向他们注册! 暂停。
更新 我尝试在 MouseLeftButtonDown 上执行 Focus(),但发生的事情是,它直接转到 OnLostFocus,这不是我想要的...... 没看懂
【问题讨论】:
标签: c# silverlight focus itemscontrol