如何为不同的条件动态绑定工具提示
我们有 2 个解决方案中的项目 v 正在使用 PRISM 框架 GeneralBL 包含业务逻辑,StudentManagementUI 包含用户控件、视图和视图模型
让 StudentStatusUserControl.xaml.cs 包含 Telerik RadButton
<telerik:RadButton Name="button1" Content="Stauses" Height="24" HorizontalAlignment="Left" VerticalAlignment="Top" Width="112" FontSize="12" Margin="2,2,2,2"
prism:Click.Command="{Binding ButtonstatusCommand}">
这是为特定条件启用的,当它被禁用时,我们必须根据条件显示鼠标悬停或工具提示信息
在 StudentStatusViewModel.cs
private bool CanExecuteButtonStatusCommand(object o)
{
return SharedLogicBL.CanExecuteButtonStatusCommand(controller,dataService, _selectedItem);
}
GeneralBL 项目中的 SharedLogicBL.cs
public static bool CanExecuteUnplannedInspection(BaseController controller, DataService dataService, SDataItem selectedItem)
{
if(controller.currentuser.Isallowed())
{
if(selectedItem!=null)
{
Orders = dataservice.GetOrders(selectedItem);
return !Orders.Any();
}
}
else
return false;
}
在上述方法中检查用户是否有权限,如果没有 Tooltip 按钮“用户没有权限”让第一个条件为 true ,在 Orders.Any() 中返回 false 那么我们应该显示“选定的学生没有订单”
在 GeneralBL 项目中的 StudentStatusUserControlBL 的 StudentStatusUserControl.xaml.cs 中也有一个依赖属性