C# 在CaliburnMicro中可见,但未链接
在我的Shell视图XAML中C# 在CaliburnMicro中可见,但未链接,c#,xaml,mvvm,caliburn.micro,C#,Xaml,Mvvm,Caliburn.micro,在我的Shell视图XAML中 <Grid> ..../// <StackPanel x:Name="SettingsPanelIsVisible" Grid.Row="6" Grid.Column="6" Orientation="Vertical" VerticalAlignment="Bottom" > <Button x:Name="Button1" Content="Button 1"/&
<Grid>
....///
<StackPanel x:Name="SettingsPanelIsVisible" Grid.Row="6" Grid.Column="6" Orientation="Vertical"
VerticalAlignment="Bottom" >
<Button x:Name="Button1" Content="Button 1"/>
<Button x:Name="Button2" Content="Button 2"/>
</StackPanel>
</Grid>
据我所知,这些应该绑定,可见性应该由caliburn.Micro通过设置或重置bool来切换,但是这不起作用,即使其他组件似乎工作正常哼,我刚刚读到StackPanel有一些约定名称,您的错误可能来自您对viewmodel类的定义,请不要查看代码: 您必须在viewmodel中输入:使用Caliburn.Micro
此约定适用于Grid或StackPanel,可能还适用于WrapPanel…..我认为对于名称为stackpanelOK的可见性没有自动约定,因此我在ViewModel中创建了一个名为StackPanelVisible的属性,类型为visibility,并设置{Binding path=StackPanelVisible}但是这不起作用。嗯,我认为你对名称约定的看法是正确的,我已经测试过了,还可以,你的错误似乎来自属性的定义。参见我的回答要最终确定答案,请记住,如果您原来的问题已经解决,请接受并投票支持答案,如果您有其他问题,请提出新问题:
....//
public bool SettingsPanelIsVisible { get; set; }
public class ShellViewModel:Screen or PropertyChangedBase
{
private bool _SettingsPanelIsVisible;
public bool SettingsPanelIsVisible
{
get => _SettingsPanelIsVisible;
set
{
_SettingsPanelIsVisible = value;
NotifyOfPropertyChange(() => SettingsPanelIsVisible);
}
}
:
}