首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >FocusManager.FocusedElement在菜单中不工作

FocusManager.FocusedElement在菜单中不工作
EN

Stack Overflow用户
提问于 2020-02-26 22:32:36
回答 1查看 108关注 0票数 1

我使用绑定传递FocusManager.FocusedElement作为参数。

代码语言:javascript
复制
<Button Cursor="Hand" x:Name="NetworkModel" Width="Auto" Height="Auto" Background="Transparent" BorderBrush="Transparent" Foreground="#FF0398E2"
                        Command="{Binding Path=MenuSelectCommand}" CommandParameter="{Binding ElementName=root, Path=(FocusManager.FocusedElement)}">
                    <Grid Width="145">
                        <materialDesign:PackIcon Kind="GraphOutline" VerticalAlignment="Center"/>
                        <TextBlock HorizontalAlignment="Center" Text="Network Model" FontFamily="Champagne &amp; Limousines"/>
                    </Grid>
                </Button>

它的工作原理是应该的。现在我创建了菜单,但命令参数为null。有人知道为什么菜单中的按钮不起作用,而只对菜单外的按钮起作用。

代码语言:javascript
复制
<Menu FontSize="14" VerticalAlignment="Center" Background="#FF303030" FontFamily="Champagne &amp; Limousines" Foreground="#FF0398E2" HorizontalAlignment="Center" Height="28" FontWeight="Bold">
                    <MenuItem Background="#FF303030" Height="28" Width="Auto">
                    <MenuItem.Header>
                        <Grid Width="Auto">
                            <materialDesign:PackIcon Kind="ViewGrid" VerticalAlignment="Center"/>
                                <TextBlock Width="Auto" Text="Summaries" VerticalAlignment="Center" HorizontalAlignment="Center" Margin="20,0,0,0"/>
                        </Grid>
                    </MenuItem.Header>
                        <Button Cursor="Hand" x:Name="SignalsSummary" Width="Auto" Height="Auto" Background="#FF303030" BorderBrush="Transparent" Foreground="#FF0398E2"
                                Command="{Binding Path=MenuSelectCommand}" CommandParameter="{Binding ElementName=root, Path=(FocusManager.FocusedElement)}">
                            <Grid Width="145">
                                <TextBlock HorizontalAlignment="Center" Text="Signals Summary" FontFamily="Champagne &amp; Limousines"/>
                            </Grid>
                        </Button>
                        <Button Cursor="Hand" x:Name="EventSummary" Width="Auto" Height="Auto" Background="#FF303030" BorderBrush="Transparent" Foreground="#FF0398E2"
                                Command="{Binding Path=MenuSelectCommand}" CommandParameter="{Binding ElementName=root, Path=(FocusManager.FocusedElement)}">
                            <Grid Width="145">
                                <TextBlock HorizontalAlignment="Center" Text="Event Summary" FontFamily="Champagne &amp; Limousines"/>
                            </Grid>
                        </Button>
                        <Button Cursor="Hand" x:Name="LoggesSummary" Width="Auto" Height="Auto" Background="#FF303030" BorderBrush="Transparent" Foreground="#FF0398E2"
                                Command="{Binding Path=MenuSelectCommand}" CommandParameter="{Binding ElementName=root, Path=(FocusManager.FocusedElement)}">
                            <Grid Width="145">
                                <TextBlock HorizontalAlignment="Center" Text="Logges Summary" FontFamily="Champagne &amp; Limousines"/>
                            </Grid>
                        </Button>
                    </MenuItem>
                </Menu>
EN

回答 1

Stack Overflow用户

发布于 2020-02-27 09:44:12

我没有解决为什么发送空,但我改变了方法。我在每个按钮上都加了这个

代码语言:javascript
复制
    <i:Interaction.Triggers>
            <i:EventTrigger EventName="PreviewMouseLeftButtonDown">
               <i:CallMethodAction MethodName="OnMouseClick" TargetObject="{Binding}" />
            </i:EventTrigger>
    </i:Interaction.Triggers>

所以现在我有了这个:

代码语言:javascript
复制
<Button Cursor="Hand" x:Name="LoggesSummary" Width="Auto" Height="Auto" Background="Transparent" BorderBrush="Transparent" Foreground="#FF0398E2">
                            <i:Interaction.Triggers>
                                <i:EventTrigger EventName="PreviewMouseLeftButtonDown">
                                    <i:CallMethodAction MethodName="OnMouseClick" TargetObject="{Binding}" />
                                </i:EventTrigger>
                            </i:Interaction.Triggers>
                            <Grid Width="145">
                                <TextBlock HorizontalAlignment="Center" Text="Logges Summary" FontFamily="Champagne &amp; Limousines"/>
                            </Grid>
                        </Button>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60423621

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档