Кирилл Asked:2022-04-01 23:00:55 +0000 UTC2022-04-01 23:00:55 +0000 UTC 2022-04-01 23:00:55 +0000 UTC 如何从库中访问 TextBox 元素 772 我创建了一个类库。我想在其中分配一个方法,该方法将包含诸如(TextBox,PasswordBox ....)之类的参数 如果你在类本身注册它(项目在哪里,那么它理解这些参数) 但是当我尝试在库本身中注册它时,它看不到这样的元素。 c# 1 个回答 Voted Best Answer VladD 2022-04-01T23:28:31Z2022-04-01T23:28:31Z 如果您在 .NET Framework 下的库有一个“旧”样式的项目文件(<?xml ...?><Project ToolsVersion=...以.Xaml.dll 和 WindowsBase.dll。 如果您想在项目中出现 Add → UserControl 之类的菜单项,则必须手动编辑项目文件(最简单的方法是暂时关闭 Studio),并将以下内容添加到顶部 PropertyGroup: <ProjectTypeGuids>{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> 或者,您可以使用“WPF 类库”库类型重新创建库,这可能更容易。 如果您的库在 .NET Core 或 .NET 5+ 下,您有一个“新”样式的项目文件(即以 . 开头<Project Sdk=...;如果您的项目在 .NET Core 或 .NET 5+ 下很可能是这种情况),请使用查看您的项目文件(这可以直接在 Studio 中完成,而无需关闭项目)。 在 .NET 5 下,您的文件应如下所示: <Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <TargetFramework>net5.0-windows</TargetFramework> <UseWPF>true</UseWPF> </PropertyGroup> </Project> (您需要net5.0-windows,而不是net5.0as TargetFramework,并检查它<UseWPF>true</UseWPF>是否存在于 some 中PropertyGroup)。 在 .NET Core 和 .NET Framework 下,它应该如下所示: <Project Sdk="Microsoft.NET.Sdk.WindowsDesktop"> <PropertyGroup> <TargetFramework>netcoreapp3.1</TargetFramework> <UseWPF>true</UseWPF> </PropertyGroup> </Project> (即,确保您的 SDK = Microsoft.NET.Sdk.WindowsDesktop,而不是Microsoft.NET.Sdk,并确保它<UseWPF>true</UseWPF>存在于 one 中PropertyGroup)。 并且不要忘记添加using System.Windows.Controls;控件或控件所在的位置。
如果
您在 .NET Framework 下的库有一个“旧”样式的项目文件(<?xml ...?><Project ToolsVersion=...以.Xaml.dll 和 WindowsBase.dll。如果您想在项目中出现 Add → UserControl 之类的菜单项,则必须手动编辑项目文件(最简单的方法是暂时关闭 Studio),并将以下内容添加到顶部 PropertyGroup:
或者,您可以使用“WPF 类库”库类型重新创建库,这可能更容易。
如果
您的库在 .NET Core 或 .NET 5+ 下,您有一个“新”样式的项目文件(即以 . 开头<Project Sdk=...;如果您的项目在 .NET Core 或 .NET 5+ 下很可能是这种情况),请使用查看您的项目文件(这可以直接在 Studio 中完成,而无需关闭项目)。在 .NET 5 下,您的文件应如下所示:
(您需要
net5.0-windows,而不是net5.0asTargetFramework,并检查它<UseWPF>true</UseWPF>是否存在于 some 中PropertyGroup)。在 .NET Core 和 .NET Framework 下,它应该如下所示:
(即,确保您的 SDK =
Microsoft.NET.Sdk.WindowsDesktop,而不是Microsoft.NET.Sdk,并确保它<UseWPF>true</UseWPF>存在于 one 中PropertyGroup)。并且不要忘记添加
using System.Windows.Controls;控件或控件所在的位置。