我有一个UserControl控制ListView的滚动,有点像自定义ScrollBar。问题发生在:
结果是ListView项目失去焦点的方式与我刚刚在ListView外部单击时的方式相同。这不是常规ScrollBar行为的方式,事实上如果我在我的控件中有一个Button,单击它并在控件之外发布,Button会以某种方式阻止release事件并且ListView项保持其焦点。
我已尝试在UserControl的PointerPressed处理程序中设置CapturePointer,但该项目仍然失去焦点(尽管未调用ListView的PointerReleased处理程序)。
用户控件:
<Grid x:Name="RootGrid" Background="AliceBlue">
<Button IsTabStop="False">OKOK</Button>
</Grid>
的MainPage:
<Grid x:Name="RootGrid" Background="Gray">
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition />
</Grid.RowDefinitions>
<ListView>
<TextBlock Text="ListViewItem 1" />
<TextBlock Text="ListViewItem 2" />
<TextBlock Text="ListViewItem 3" />
</ListView>
<local:MyControl Grid.Row="1" />
</Grid>
所以在上面的例子中:
注意黑色焦点矩形是如何消失的。重复上述步骤,但按下按钮而不是按蓝色区域,并注意黑色焦点矩形不会消失。从蓝色区域拖动时我想要从按钮拖动时的相同行为。