【问题标题】:Control Does Not Exist in Namespace命名空间中不存在控件
【发布时间】:2016-08-01 06:16:08
【问题描述】:

我正在尝试在自定义 (WPFMediaKit) 中使用 MediaUriElement

我已经像这样将它添加到命名空间中;

xmlns:controls="clr-namespace:WPFMediaKit.DirectShow.Controls;assembly=WPFMediaKit"

然后我尝试访问它;

<Grid>
    <controls:MediaUriElement x:Name="mediaUriElement" />
</Grid>

但是我得到一个错误:名称 MediaUriElement 在这个命名空间中不存在。 VS 确实给了我一个建议,让我在打字时使用它;

如何正确地将其添加到我的项目中?

【问题讨论】:

  • 希望对您有所帮助:stackoverflow.com/questions/14665713/…
  • @un-lucky 不幸的是,没有一个答案似乎解决了我的问题
  • 是因为您的项目无法编译还是只是因为蓝色下划线而困扰您?我在一些项目中有完全相同的场景,但是项目编译得很好,所以我认为 VS 中存在一些错误。
  • @NawedNabiZada 它根本不会打扰我,但是项目不会编译,这是这里的问题
  • 有时,如果您的代码中的其他地方有错误,您将面临同样的问题。即使问题不在此处,VS 也会在此处将其指示为问题。清理您的解决方案,然后重建它。检查错误列表,并修复所有其他错误,有时此类错误会在其他错误修复后消失。

标签: c# wpf xaml namespaces


【解决方案1】:

我试过了,效果很好。我做了什么:

  1. 将项目从Framework 4.5 切换到Framework 4.0
  2. 在项目中添加了DirectShowLib-2005.dllWPFMediaKit.dll等引用

  3. 像这样声明 xaml 命名空间xmlns:controls="clr-namespace:WPFMediaKit.DirectShow.Controls;assembly=WPFMediaKit"

    <Window x:Class="ExcelExportWpfApplication.MainWindow"
        ... The code omitted for the brevity...
        xmlns:controls="clr-namespace:WPFMediaKit.DirectShow.Controls;assembly=WPFMediaKit"
        xmlns:vm="clr-namespace:ExcelExportWpfApplication.ViewModel"        
        mc:Ignorable="d"
        Title="MainWindow" Height="550" Width="525" 
              WindowStartupLocation="CenterScreen">
    
  4. 而且只是用 xaml 编写的:

    <controls:MediaUriElement Grid.Row="2"/>
    
  5. 没有错误

【讨论】:

  • @CBreeze 随时提出任何问题。如果您觉得我的回复对您有帮助,那么您可以将我的回复标记为答案,以简化以后其他人的搜索。请阅读此meta.stackexchange.com/questions/5234/…
  • @CBreeze 真的很有趣,您为什么不投票或将答案分配给您的线程?如果您对回复点赞,您会得到其他人更多的款待。
猜你喜欢
  • 2016-09-22
  • 2012-07-03
  • 1970-01-01
  • 2011-10-19
  • 2019-06-26
  • 1970-01-01
  • 1970-01-01
  • 2019-03-01
  • 2010-10-21
相关资源
最近更新 更多