首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用WPF错误的导航栏(无法解析属性路径中的所有属性引用)

使用WPF错误的导航栏(无法解析属性路径中的所有属性引用)
EN

Stack Overflow用户
提问于 2018-08-28 14:16:20
回答 1查看 129关注 0票数 0

我曾在Windows窗体开发&新的WPF开发工作过。我对Xaml的开发一无所知。我写了一些代码,但面临错误。

“System.InvalidOperationException”类型的未处理异常出现在PresentationFramework.dll附加信息中:无法解析属性路径“FrameworkElement.Width”中的所有属性引用。

下面是我的Xaml代码。

代码语言:javascript
复制
<Window x:Class="MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Height="600" Width="1080" ResizeMode="NoResize" WindowStyle="None" Foreground="White"
    xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes" >
    <Window.Resources>
        <Storyboard x:Key="MenuOpen">
            <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="FrameworkElement.Width" Storyboard.TargetName="GridMenu">
                <EasingDoubleKeyFrame KeyTime="0" Value="60"></EasingDoubleKeyFrame>
                <EasingDoubleKeyFrame KeyTime="0:0:0.5" Value="200"></EasingDoubleKeyFrame>
            </DoubleAnimationUsingKeyFrames>
        </Storyboard>
        <Storyboard x:Key="MenuClose">
            <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="FrameworkElement.Width" Storyboard.TargetName="GridMenu">
                <EasingDoubleKeyFrame KeyTime="0" Value="200"></EasingDoubleKeyFrame>
                <EasingDoubleKeyFrame KeyTime="0:0:0.5" Value="60"></EasingDoubleKeyFrame>
            </DoubleAnimationUsingKeyFrames>
        </Storyboard>
    </Window.Resources>
    <Window.Triggers>
        <EventTrigger RoutedEvent="ButtonBase.Click" SourceName="ButtonOpenMenu">
            <BeginStoryboard Storyboard="{StaticResource MenuOpen}"></BeginStoryboard>
        </EventTrigger>
        <EventTrigger RoutedEvent="ButtonBase.Click" SourceName="ButtonCloseMenu">
            <BeginStoryboard Storyboard="{StaticResource MenuClose}"></BeginStoryboard>
        </EventTrigger>
    </Window.Triggers>
    <Grid Background="LightGray">
        <Grid Height="60" VerticalAlignment="Top" Background="#FF1368BD">
            <TextBlock Text="Tuck Shop Management System" HorizontalAlignment="Center" VerticalAlignment="Center" FontSize="22"></TextBlock>
            <StackPanel VerticalAlignment="Center" Orientation="Horizontal" HorizontalAlignment="Right"> 
                <TextBlock Text="User Profile" VerticalAlignment="Center" FontSize="18"></TextBlock>
                <materialDesign:PopupBox Margin="10" PlacementMode="BottomAndAlignRightEdges" StaysOpen="False">
                    <StackPanel Width="150">
                        <Button Content="Account"></Button>
                        <Button Content="Setting"></Button>
                        <Button Content="Help"></Button>
                        <Separator></Separator>
                        <Button x:Name="ButtonPopoutLogout" Content="Logout" Click="ButtonPopoutLogout_Click"></Button>
                    </StackPanel>
                </materialDesign:PopupBox>
            </StackPanel> 
        </Grid>
        <Grid x:Name="GridMenu" Width="60" HorizontalAlignment="Left" Background="#FF1A3761"> 
            <StackPanel>  
                <Grid Height="150" Background="White"> 
                    <Button x:Name="ButtonCloseMenu" VerticalAlignment="Top" HorizontalAlignment="Right" Width="60" Height="60" Background="{x:Null}" BorderBrush="{x:Null}" Click="ButtonCloseMenu_Click">
                        <materialDesign:PackIcon Kind="ArrowLeft" Foreground="#FF1A3761" Width="25" Height="25" Visibility="Collapsed"></materialDesign:PackIcon>
                    </Button>
                    <Button x:Name="ButtonOpenMenu" VerticalAlignment="Top" HorizontalAlignment="Right" Width="60" Height="60" Background="{x:Null}" BorderBrush="{x:Null}" Click="ButtonOpenMenu_Click">
                        <materialDesign:PackIcon Kind="Menu" Foreground="#FF1A3761" Width="25" Height="25"></materialDesign:PackIcon> 
                    </Button>
                </Grid>
                <ListView ScrollViewer.HorizontalScrollBarVisibility="Disabled" Foreground="#FF1368BD" MouseDown="ListView_MouseDown">
                    <ListViewItem Height="60" x:Name="Home">  
                        <StackPanel Orientation="Horizontal">
                            <materialDesign:PackIcon Kind="ViewDashboard" Height="25" Width="25" Margin="10" VerticalAlignment="Center"></materialDesign:PackIcon>
                            <TextBlock Text="Home" VerticalAlignment="Center" Margin="20 10"></TextBlock>
                        </StackPanel>
                    </ListViewItem>
                    <ListViewItem Height="60">
                        <StackPanel Orientation="Horizontal">
                            <materialDesign:PackIcon Kind="Pencil" Height="25" Width="25" Margin="10" VerticalAlignment="Center"></materialDesign:PackIcon>
                            <TextBlock Text="Create" VerticalAlignment="Center" Margin="20 10"></TextBlock>
                        </StackPanel>
                    </ListViewItem>
                    <ListViewItem Height="60">
                        <StackPanel Orientation="Horizontal">
                            <materialDesign:PackIcon Kind="Ticket" Height="25" Width="25" Margin="10" VerticalAlignment="Center"></materialDesign:PackIcon>
                            <TextBlock Text="Ticket" VerticalAlignment="Center" Margin="20 10"></TextBlock>
                        </StackPanel>
                    </ListViewItem>
                    <ListViewItem Height="60">
                        <StackPanel Orientation="Horizontal">
                            <materialDesign:PackIcon Kind="Message" Height="25" Width="25" Margin="10" VerticalAlignment="Center"></materialDesign:PackIcon>
                            <TextBlock Text="Message" VerticalAlignment="Center" Margin="20 10"></TextBlock>


        </StackPanel>
                </ListViewItem>
                <ListViewItem Height="60">
                    <StackPanel Orientation="Horizontal">
                        <materialDesign:PackIcon Kind="GithubBox" Height="25" Width="25" Margin="10" VerticalAlignment="Center"></materialDesign:PackIcon>
                        <TextBlock Text="Git Hub" VerticalAlignment="Center" Margin="20 10"></TextBlock>
                    </StackPanel>
                </ListViewItem>
            </ListView>
        </StackPanel>
    </Grid>
</Grid>

此外,我有代码后面给出如下。

代码语言:javascript
复制
Private Sub ButtonPopoutLogout_Click(sender As Object, e As RoutedEventArgs)
    Application.Current.Shutdown()
End Sub

Private Sub ButtonOpenMenu_Click(sender As Object, e As RoutedEventArgs)
    ButtonOpenMenu.Visibility = Windows.Visibility.Collapsed
    ButtonCloseMenu.Visibility = Windows.Visibility.Visible
End Sub

Private Sub ButtonCloseMenu_Click(sender As Object, e As RoutedEventArgs)
    ButtonOpenMenu.Visibility = Windows.Visibility.Visible
    ButtonCloseMenu.Visibility = Windows.Visibility.Collapsed
End Sub

等待我们的回应。我会提前感谢你们,因为我被困在了任务中。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-28 14:22:09

在设置( )时,您缺少了Storyboard.TargetProperty

您可以了解有关属性路径这里的更多信息。

只需将您的故事板更改为:

代码语言:javascript
复制
<Storyboard x:Key="MenuOpen">
    <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(FrameworkElement.Width)" Storyboard.TargetName="GridMenu">
        <EasingDoubleKeyFrame KeyTime="0" Value="60"></EasingDoubleKeyFrame>
        <EasingDoubleKeyFrame KeyTime="0:0:0.5" Value="200"></EasingDoubleKeyFrame>
    </DoubleAnimationUsingKeyFrames>
</Storyboard>
<Storyboard x:Key="MenuClose">
    <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(FrameworkElement.Width)" Storyboard.TargetName="GridMenu">
        <EasingDoubleKeyFrame KeyTime="0" Value="200"></EasingDoubleKeyFrame>
        <EasingDoubleKeyFrame KeyTime="0:0:0.5" Value="60"></EasingDoubleKeyFrame>
    </DoubleAnimationUsingKeyFrames>
</Storyboard>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52060062

复制
相关文章

相似问题

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