在Visual Studio 2013中使用WPF时,我遇到了一个错误:
错误2属性'内容'设置不止一次。
错误1属性"内容"只能设置一次
现在,首先。我转向谷歌搜索错误消息&得到了一个链接到StackOverflow的顶级结果。
XAML - The property 'Content' is set more than once
the property 'Content' is set more than once
Property content is set more than once
包括MSDN帖子:
虽然基于原始海报代码呈现了信息性定制解决方案的集合,但我还没有遇到一个实际的基本解决方案,详细说明了此错误的原因(XAML新手)虽然这可能是多个报告问题的副本。我个人宁愿避免发布有问题的代码来获得量身定制的解决方案。我更愿意来到这里,并询问社区的原因,为什么新手XAMP / WPF开发人员可能会遇到这个应用程序和解决方案&没有那么多顶级,顶级的最佳实践。而是来自更多WPF / XAMP开发人员的建议,关于如何轻松识别解决方案并继续进行未来的进一步调试步骤
为了论证:
<Window x:Class="WPFT.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="197.198" Width="427.95">
<TextBlock>Hello</TextBlock>
<TextBlock>World</TextBlock>
</Window>
答案 0 :(得分:6)
一个窗口只能包含1个元素。
在您的代码中
<Window x:Class="WPFT.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="197.198" Width="427.95">
<TextBlock>Hello</TextBlock>
<TextBlock>World</TextBlock>
</Window>
你的窗口有2个文本块 你应该尝试像
这样的东西<Window x:Class="WPFT.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="197.198" Width="427.95">
<Grid>
<TextBlock>Hello</TextBlock>
<TextBlock>World</TextBlock>
</Grid>
</Window>
答案 1 :(得分:5)
如果使用Content依赖项属性在任何UIElement中设置多个元素,则会出现此错误。您需要在面板中包含多个元素,以便Content属性只有一个子元素。例如......
<Button>
<StackPanel Orientation="Horizontal">
<Image />
<TextBlock />
</StackPanel>
</Button>
<Border>
<StackPanel>
<TextBlock />
<Image />
<DatePicker />
</StackPanel>
</Border>
Button和Border元素之间的区域是用于指定的简写:
<Button>
<Button.Content>
<!-- Content goes here -->
</Button.Content>
</Button>