使用 Caliburn Micro 在弹出控件中绑定 UserControl
UserControl binding inside popup control using caliburn micro
我正在尝试在 wpf 弹出控件中加载一个 UserControl,从下面的代码中我可以看到弹出窗口以黄色背景打开,但是 ContentControl 带有 未加载视图 。我正在使用 Caliburn Micro 来解析 View 和 ViewModel。
下面是我的xaml,pop外面的contentcontrol工作正常,但是Popup里面同样的contentcontrol只显示黄色背景。
<ContentControl x:Name="SearchListViewModel" />
<ToggleButton Name="button1">
<ToggleButton.Template>
<ControlTemplate TargetType="ToggleButton">
<TextBlock Text="Select" />
</ControlTemplate>
</ToggleButton.Template>
</ToggleButton>
<Popup IsOpen="{Binding IsChecked, ElementName=button1}" StaysOpen="False">
<Border>
<StackPanel
Width="500"
Height="500"
Background="Yellow"
Orientation="Vertical">
<ContentControl x:Name="SearchListViewModel" />
</StackPanel>
</Border>
</Popup>
我知道这有点晚了,但是 Caliburn Micro 不会t/can在 Popup
控件中发现 ContentControl
。因此内容控件不会绑定到 SearchListViewModel
属性.
但是,您可以指定正确的绑定路径:
<ContentControl cal:View.Model="{Binding Path=SearchListViewModel,Mode=OneWay}"/>
注:
您还需要引用 cal
命名空间:
xmlns:cal="clr-namespace:Caliburn.Micro;assembly=Caliburn.Micro.Platform"
我正在尝试在 wpf 弹出控件中加载一个 UserControl,从下面的代码中我可以看到弹出窗口以黄色背景打开,但是 ContentControl 带有 未加载视图 。我正在使用 Caliburn Micro 来解析 View 和 ViewModel。 下面是我的xaml,pop外面的contentcontrol工作正常,但是Popup里面同样的contentcontrol只显示黄色背景。
<ContentControl x:Name="SearchListViewModel" />
<ToggleButton Name="button1">
<ToggleButton.Template>
<ControlTemplate TargetType="ToggleButton">
<TextBlock Text="Select" />
</ControlTemplate>
</ToggleButton.Template>
</ToggleButton>
<Popup IsOpen="{Binding IsChecked, ElementName=button1}" StaysOpen="False">
<Border>
<StackPanel
Width="500"
Height="500"
Background="Yellow"
Orientation="Vertical">
<ContentControl x:Name="SearchListViewModel" />
</StackPanel>
</Border>
</Popup>
我知道这有点晚了,但是 Caliburn Micro 不会t/can在 Popup
控件中发现 ContentControl
。因此内容控件不会绑定到 SearchListViewModel
属性.
但是,您可以指定正确的绑定路径:
<ContentControl cal:View.Model="{Binding Path=SearchListViewModel,Mode=OneWay}"/>
注:
您还需要引用 cal
命名空间:
xmlns:cal="clr-namespace:Caliburn.Micro;assembly=Caliburn.Micro.Platform"