-1

我有两个程序集
1. MyProj.GUI 2. MyProj

MyProj 我定义的 enum MergeAction {ApplyTarget, ApplyToWorkingCopy, Ignore};
MyProj.GUI,我有一个用于 Combobox 的 Xaml,如下所示:

xmlns:Merge="clr-namespace:Megatec.EB2UDF.Merge;assembly=Megatec.EB2UDF"

<DataTemplate DataType="{x:Type Merge:DifferenceViewModel}">
  <ComboBox SelectedValue="{Binding Path=MergeAction}">
    <ComboBox.Items>
      <Merge:MergeAction>Ignore</Merge:MergeAction>
      <Merge:MergeAction>ApplyToWorkingCopy</Merge:MergeAction>
      <Merge:MergeAction>ApplyToTarget</Merge:MergeAction>
    </ComboBox.Items>
  </ComboBox>
</DataTemplate>

当我打开窗口时,我得到异常 System.Resources.MissingManifestResourceException
找不到任何适合指定文化或中性文化的资源...

没有ComboBox.Items标签...一切都很酷...

这是为什么?
我究竟做错了什么?

编辑:

从 Xaml 中多次调用程序集(即使是同一个对象)
示例

 <ribbon:Button Label="Send Change"  CommandParameter="{x:Static Merge:MergeAction.ApplyToTarget}" Command="{Binding ApplyActionCommand}">
     <ribbon:Button.ImageSourceLarge>
        <BitmapImage UriSource="/Images/MAIL.png" />
     </ribbon:Button.ImageSourceLarge>
 </ribbon:Button>

只有ComboBox 会出错。

4

1 回答 1

1

好吧,找到了解决方案:

我对 WPF 很感兴趣,所以我不知道它为什么起作用,但它确实起作用了!

我这样添加了ItemTemplate一个ComboBox

<ComboBox SelectedValue="{Binding Path=MergeAction}">
  <ComboBox.Items>
    <Merge:MergeAction>Ignore</Merge:MergeAction>
    <Merge:MergeAction>ApplyToWorkingCopy</Merge:MergeAction>
    <Merge:MergeAction>ApplyToTarget</Merge:MergeAction>
  </ComboBox.Items>
  <ComboBox.ItemTemplate>
    <DataTemplate>
      <TextBlock Text="{Binding}"></TextBlock>
    </DataTemplate>
  </ComboBox.ItemTemplate>
</ComboBox>

现在一切都很酷..

但是,...我不明白为什么?

于 2012-07-03T07:04:09.530 回答