如何動態綁定提示條件不同,
我們有2個項目的解決方案V使用PRISM框架 GeneralBL包含業務邏輯和 StudentManagementUI包含用戶控件,觀點和的ViewModels如何綁定提示的按鈕不同的條件
有無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}">
這是一個特定條件&啓用時,它被禁止,我們必須SH流鼠標懸停或工具提示信息取決於病症
在StudentStatusViewModel.cs
private bool CanExecuteButtonStatusCommand(object o)
{
return SharedLogicBL.CanExecuteButtonStatusCommand(controller,dataService, _selectedItem);
}
SharedLogicBL.cs在GeneralBL項目
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上的按鈕「用戶沒有權利」 先讓條件成立,在Orders.Any()返回false然後我們應該顯示「選定的學生沒有訂單」
也有這個StudentStatusUserControlBL在StudentStatusUserControl.xaml.cs依賴項屬性在GeneralBL項目
在您的ViewModel'字符串Tip'中添加一個INPC屬性並將按鈕ToolTip綁定到該值 – 2012-03-01 18:16:06