我有一个{
"sort": [
{
"_score": {
"order": "desc"
}
}
],
"query": {
"bool": {
"filter": {
"geo_distance": {
"distance": "10km",
"geolocation": [
-73.980090948125,
40.747844918436
]
}
},
"must": {
"multi_match": {
"query": "New York",
"fields": [
"name^2",
"city",
"state",
"zip"
],
"type": "best_fields"
}
}
},
"nested": {
"path": "amenities",
"query": {
"bool": {
"must": [
{
"match": {
"amenities.name": "Pool"
}
}
]
}
}
}
},
"aggs": {
"reviews": {
"nested": {
"path": "reviews"
},
"aggs": {
"avg_rating": {
"avg": {
"field": "reviews.rating"
}
}
}
}
}
}
用户控件,我在MainMenu
视图中使用了MainWindow
。 MainWindowViewModel
标记的开头如下:
MainMenu
在设计模式下,我的错误列表中出现2个错误,两个错误都是:
无法转换' System.Windows.Application'类型的对象输入 ' ApptEase.Client.App'
第一个出现在上面用户控制标记的<UserControl x:Class="ApptEase.Client.Shell.Controls.MainMenu"
....
d:DesignHeight="25">
<UserControl.DataContext>
<shell:MainWindowViewModel />
</UserControl.DataContext>
<Menu Height="25" VerticalAlignment="Top">
<MenuItem Header="_File">
行中。第二个发生在下面<shell:MainWindowViewModel />
标记摘录的<shell:MainMenu Grid.Row="0" />
行中。
MainWindow摘录:
MainWindow
我的<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<shell:MainMenu Grid.Row="0" />
<ContentControl Grid.Row="1" prism:RegionManager.RegionName="ContentRegion" />
</Grid>
来自MainWindowViewModel
:
BaseViewModel
如果我注释掉public abstract class BaseViewModel : BindableBase
{
protected BaseViewModel()
{
AppState = ((App)Application.Current).AppState;
}
...
}
行,则错误消失。然而,除了&#34;成功构建&#34;在我构建的输出窗口中,应用程序启动正常,即((App)Application.Current).AppState
ctor执行正常,没有异常。
如果我没有选择但是接受错误消息是无害的,有什么方法可以抑制它们吗?我没有看到编译器指令在XAML标记中工作。
答案 0 :(得分:0)
我不知道这只是一个'全能'还是一个合适的解决方案,但我通过将BaseViewModel
ctor更改为:
protected BaseViewModel()
{
if (!DesignerProperties.GetIsInDesignMode(new DependencyObject()))
{
_app = (App)Application.Current;
}
}
似乎在设计模式下,Application.Current
不属于App
类型。