簡體   English   中英

如何使用另一個項目中的枚舉將單選按鈕組綁定到枚舉屬性?

[英]How can I bind a radio button group to an enum property using an enum from another project?

所以我的解決方案中有 2 個項目。 一個類庫和一個 WPF 項目。 類庫“TemplateGeneratorLibrary”包含一個文件“Enums.cs”,我在其中定義了我的枚舉。

namespace TemplateGeneratorLibrary.Utilities
{
    public enum Genders
    {
        m,
        f
    }
}

我在我的 UI 項目中添加了對我的視圖文件的以下引用。 我仔細檢查了類庫的程序集名稱確實是“TemplateGeneratorLibrary”並且與項目名稱沒有區別。

<UserControl x:Class="TemplateGeneratorUI.Views.MedicalExaminationView"
    xmlns:utilities="clr-namespace:TemplateGeneratorLibrary.Utilities;assembly=TemplateGeneratorLibary">

現在我正在嘗試使用類庫中的枚舉將一個單選按鈕組綁定到我的視圖模型中的一個屬性。

<RadioButton x:Name="PatientGenderMRadio"
    IsChecked="{Binding Path=Gender, Converter={StaticResource enumConverter}, ConverterParameter={x:Static utilities:Genders.m}}"

我收到錯誤消息“找不到類型‘性別’。請注意,類型名稱區分大小寫。”

當我將枚舉文件與視圖放在同一個項目中時,一切正常。 我怎樣才能使用我的類庫中的枚舉讓它工作?

如果您使用.NET Standard ,類庫也必須基於 .NET Standard 構建。 如果.NET Framework或 . NET Core類庫必須遵守它。

盡管有項目引用,但 WPF 應用程序中不存在類庫命名空間

當我將枚舉文件與視圖放在同一個項目中時,一切正常。

實際上可以從另一個項目中引入特定文件,而無需引入對項目的引用或包含 dll。

訣竅是將所需的文件作為鏈接包含在項目中。 這是如何

  1. 在主項目中右鍵單擊並選擇Add然后Existing Item...shift alt A
  2. 瀏覽到在其他項目中找到的文件的位置並選擇文件。
  3. 一旦選擇了文件,然后在Add按鈕上使用下拉箭頭中的選擇。
  4. 選擇Add as link以將公共文件Add as link添加到項目中。

在此處輸入圖片說明

這將允許訪問該文件,就好像該文件實際上在項目中一樣,但該文件實際上位於其他地方。


這在必須跨越 CLR 邊界的 Silverlight 中被廣泛使用,但模型和枚舉之類的東西可以在這兩個項目中使用,而不必為了文本類型副本而引入另一個 CLR dll。

暫無
暫無

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

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