问题描述
我正在尝试在下图中实现类似的目标。单击 ListViewItem
项时,我需要将该垂直线放置在列表视图项之前。但不起作用!当我点击该项目时,它会根据计算将整个列表向下推。
我做了什么:
**Code behind**:
private void LV_SelectionChanged(object sender,SelectionChangedEventArgs e)
{
int index = LV.Selectedindex;
MoveCursorMenu(index);
}
private void MoveCursorMenu(int index)
{
GridCursor.Margin = new Thickness(0,(14 + (46 * index)),0);
}
**XAML code:**
<!-- Navigation panel -->
<Grid x:Name="nav_pnl" HorizontalAlignment="Left"
Width="65" Background="#2E333A">
<StackPanel x:Name="st_pnl">
<Grid x:Name="GridCursor" Width="3" Height="46" Background="#0096D6"
Margin="0 14 0 0"
HorizontalAlignment="Left"
VerticalAlignment="Top" />
<!-- List view with menu list items -->
<ListView x:Name="LV" Margin="0 14"
Background="Transparent" BorderBrush="Transparent"
ScrollViewer.HorizontalScrollBarVisibility="disabled"
SelectionChanged="LV_SelectionChanged">
<!-- Home -->
<ListViewItem HorizontalAlignment="Left" Margin="0,15" MouseEnter="ListViewItem_MouseEnter">
<StackPanel Orientation="Horizontal" Width="230">
<Image Source="Assets/home.png" Stretch="None"
Margin="0,0"/>
<TextBlock Text="Home" Margin="25,0"
Style="{StaticResource font_style}"/>
</StackPanel>
<!-- Tooltip for Home -->
<ListViewItem.ToolTip>
<ToolTip x:Name="tt_home" Content="Home"
Style="{StaticResource tt_style}" />
</ListViewItem.ToolTip>
</ListViewItem>
<!-- Contacts -->
<ListViewItem HorizontalAlignment="Left" Margin="0,15" MouseEnter="ListViewItem_MouseEnter">
<StackPanel Orientation="Horizontal" Width="230">
<Image Source="Assets/contacts.png" Stretch="None"
Margin="5,0"/>
<TextBlock Text="Merger" Margin="25,0"
Style="{StaticResource font_style}"/>
</StackPanel>
<!-- Tooltip for contacts -->
<ListViewItem.ToolTip>
<ToolTip x:Name="tt_contacts" Content="Contacts"
Style="{StaticResource tt_style}" />
</ListViewItem.ToolTip>
</ListViewItem>
</ListView>
</StackPanel>
</Grid>
我做错了什么?任何人都可以将我推向正确的方向。提前致谢。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)