gpt4 book ai didi

c# - WPF 设计器问题引用枚举

转载 作者:行者123 更新时间:2023-11-30 22:14:34 25 4
gpt4 key购买 nike

所以我在这个例子中使用 staticextension 引用了一个枚举,它在运行时工作正常,但在设计时由于错误“无法创建‘StaticExtension’类型的实例”而失败。

我理解这意味着它认为它需要一个枚举类型的实例来实际引用它。但是,枚举在窗口中定义为静态,所以我不明白为什么它会出现问题。

有什么合理的方法可以让设计师继续工作吗?到目前为止我发现的最接近的是将它放在一个对象数据提供者中并创建方法来返回枚举值。在幕后,这基本上是创建一个对象来引用静态类型,并且似乎只需要将枚举值提取出来就需要做太多工作。这里的目标只是能够引用单个枚举类型并显示它们。

<Window 
x:Class="DaedalusGraphViewer.GraphViewerWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:DaedalusGraphViewer="clr-namespace:DaedalusGraphViewer">
<StackPanel>
<Label Content="testtesttest">
<Label.ContextMenu>
<ContextMenu>
<MenuItem Header="{x:Static DaedalusGraphViewer:GraphViewerWindow+Test.test1}"/>
</ContextMenu>
</Label.ContextMenu>
</Label>
</StackPanel>
</Window>

C#:

using System.Windows;

namespace DaedalusGraphViewer
{
/// <summary>
/// Interaction logic for GraphViewerWindow.xaml
/// </summary>
public partial class GraphViewerWindow : Window
{
public GraphViewerWindow()
{
InitializeComponent();
Application.Current.MainWindow = this;
}

public enum Test
{
test1, test2
}
}
}

最佳答案

这是一个已知的 bug在设计师。解决方法是不对设计器使用嵌套类型。

关于c# - WPF 设计器问题引用枚举,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18451597/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com