簡體   English   中英

重用工作窗口和幫助程序類時,WPF XAML命名空間問題

[英]WPF XAML namespace issue when reusing Working Window and helper class

我有一個WPF Window類,該類使用本地(在相同名稱空間中)類從ViewModel關閉窗口。 我從另一個項目復制了該類,在該項目中它工作得很好,並適當地更改了名稱空間。 我收到一個設計器,並且由於VS編譯錯誤,該類在名稱空間中不存在。 這是我的Xaml:

<Window x:Class="MOABIMTools.Views.CreateTypesView"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    xmlns:xc="clr-namespace:MOABIMTools"
    xmlns:local="clr-namespace:MOABIMTools.Views"
    local:DialogCloser.DialogResult="{Binding DialogResult}"
    Title="BIM Parameter Maintenance" Height="500" Width="1000">

這是DialogCloser類:

using System.Windows;

namespace MOABIMTools.Views
{
    public static class DialogCloser
    {
        public static readonly DependencyProperty DialogResultProperty =
            DependencyProperty.RegisterAttached(
                "DialogResult",
                typeof(bool?),
                typeof(DialogCloser),
                new PropertyMetadata(DialogResultChanged));

        private static void DialogResultChanged(
            DependencyObject d,
            DependencyPropertyChangedEventArgs e)
        {
            var window = d as Window;
            if (window != null)
                window.DialogResult = e.NewValue as bool?;
        }
        public static void SetDialogResult(Window target, bool? value)
        {
            target.SetValue(DialogResultProperty, value);
        }
    }
}

我已經清理並重建,通過復制/粘貼重置了xaml中的命名空間引用,關閉了VS並重新啟動,並將其從xc名稱空間更改為本地,但沒有任何幫助。 我只是沒有看到錯誤。 但是我在Xaml文件中的DialogCloser綁定行下得到了一條彎曲的藍色線條,以及一個編譯錯誤:

Error       The name "DialogCloser" does not exist in the namespace "clr-namespace:MOABIMTools.Views".

我覺得錯誤肯定很簡單,因為窗口和DialogCloser類都來自另一個工作項目。 但是我沒有看到問題。

DialogCloser位於namespace MOABIMTools.Views ,但是在您的xaml中設置xmlns:xc="clr-namespace:MOABIMTools" ,然后使用xc:DialogCloser.DialogResult進行調用。

我認為您需要更改的是替換

xmlns:xc="clr-namespace:MOABIMTools"

xmlns:xc="clr-namespace:MOABIMTools.Views"

您在設計期間沒有出錯的原因,可能是因為它使用的是舊的編譯對象。 嘗試重建所有內容。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM