c# – caliburn.micro绑定元素对viewmodel函数的可见性,而不是属
发布时间:2020-12-15 23:25:32 所属栏目:百科 来源:网络整理
导读:首先 – 我很抱歉,如果它是重复的 – 已经看了一会儿,但找不到答案, 我们正在使用caliburn.micro,因此解决方案必须使用此工具. 我们有一个由9个按钮组成的视图 – 然而 – 并非所有按钮都可以在同一时间看到,它取决于系统上的事件. 根据当前状态,每个按钮可
首先 – 我很抱歉,如果它是重复的 – 已经看了一会儿,但找不到答案,
我们正在使用caliburn.micro,因此解决方案必须使用此工具. 我们有一个由9个按钮组成的视图 – 然而 – 并非所有按钮都可以在同一时间看到,它取决于系统上的事件. 它甚至是一种选择吗?我似乎找不到以任何传统方式做到这一点的方法. 由于事件是从软件外部接收的,我们正在开发这样做在视图级别上实际上不是一个选项(或者至少 – 不是正确的) 编辑:这是我想要修改的视图的片段: <Grid Margin="0"> <Grid.ColumnDefinitions> <ColumnDefinition Width="120" /> <ColumnDefinition Width="Auto" /> </Grid.ColumnDefinitions> <uiviews:PhonePadView Grid.Column="0" x:Name="DestinationDn" cal:Bind.Model="UI.ViewModels.PhonePadViewModel" /> <Button Grid.Column="1" Content="Dial" Style="{StaticResource PhonePadBasicFunctionsButtons}" x:Name="MakeCall" Visibility="{Binding btnMakeCallVisibility}" /> <Button Grid.Column="1" Content="Answer" Style="{StaticResource PhonePadBasicFunctionsButtons}" x:Name="AnswerCall" Visibility="{Binding btnAnswerCallVisibility}" /> <Button Grid.Column="1" Content="Hang-up" Style="{StaticResource PhonePadBasicFunctionsButtons}" x:Name="ReleaseCall" Visibility="{Binding btnReleaseCallVisibility}" /> <Button Grid.Column="1" Content="Hold" Style="{StaticResource PhonePadBasicFunctionsButtons}" x:Name="HoldCall" Visibility="{Binding btnHoldCallVisibility}" /> </Grid> 正如你所看到的,我需要为每个按钮设置不同的属性,我拒绝相信这是唯一的方法,我确实有一个属性保持当前状态(电话响铃,通话,拨号等. )并且很容易在VM上有一个功能来告诉哪个按钮应该是可见的,哪个不应该是可见的,最重要的是我们当前有9个按钮,但它可能很容易扩展更多,所以我正在寻找这里有大多数模块化代码 解决方法
开箱即用,如果您使用“IsVisible”后缀命名,Caliburn Micro将切换可见性.
在视图上: <Grid Name="ConfigEditorIsVisible"> <TextBlock>Test</TextBlock> </Grid> 在ViewModel上: public bool ConfigEditorIsVisible { get; set; } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |