【发布时间】:2015-03-12 12:23:59
【问题描述】:
我阅读了有关该主题的几个问题,但答案对我不起作用。 我在 StlContainer.cs 中声明了以下枚举:
public enum ToothVisualModelType
{
CoordinateSystemPivot = 0,
Tooth = 1,
Crown = 2,
Gums = 3
}
枚举在 StlContainer 类定义之外声明,使其成为全局枚举。我想将其值分配给不同 XAML 控件的 Tag 属性,所以我尝试这样做:
<xctk:ColorPicker Tag="{x:Static local:ToothVisualModelType.Tooth}"
Name="colorPickerTooth"
Width="110"
Grid.Column="1"
Grid.Row="3"
SelectedColorChanged="colorPickerTooth_SelectedColorChanged"
DisplayColorAndName="True"
Margin="0,0,10,5">
</xctk:ColorPicker>
但得到了错误:
错误 1 未知的构建错误,'键不能为空。 参数名称:key Line 234 Position 43.' D:\Visual Studio\Projects\Dental Viewer\Dental Viewer 1.2\Dental Viewer\MainWindow.xaml 234 43 Dental Viewer 1.2
我尝试将枚举移动到 MainWindow.xaml.cs,我尝试过
Tag="{x:Static local:StlContainer+ToothVisualModelType.Tooth}"
和
Tag="{x:Static MyNamespace:ToothVisualModelType.Tooth}"
我尝试将此分配给 Label 控件上的标记,但仍然得到相同的错误。我在这里想念什么?我可以使用某种绑定来解决这个问题吗?
PS:当我输入值并到达 Tag="{x:Static }" 时,自动完成功能只会建议 Member 参数像 Tag="{x:Static Member=}" 这样完成它,如果这很重要的话。
【问题讨论】:
-
如何在 XAML 中定义
local命名空间?ToothVisualModelType在那个命名空间中吗? -
我看不出你的代码有什么问题
Tag="{x:Static local:ToothVisualModelType.Tooth}".. 这绝对正确... -
@AmolBavannavar 这正是我正在与之抗争的。它应该工作,但它没有。是的,一切都在同一个命名空间中