本文整理汇总了C#中IViewModel.GetViewModelId方法的典型用法代码示例。如果您正苦于以下问题:C# IViewModel.GetViewModelId方法的具体用法?C# IViewModel.GetViewModelId怎么用?C# IViewModel.GetViewModelId使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IViewModel
的用法示例。
在下文中一共展示了IViewModel.GetViewModelId方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Navigate
private bool Navigate(Type type, object parameter, IViewModel viewModel)
{
#if WINDOWSCOMMON
if (viewModel != null)
{
if (!(parameter is NavigationParameter))
parameter = new NavigationParameter { Id = viewModel.GetViewModelId(), Parameter = parameter };
}
#endif
_lastParameter = parameter;
if (parameter == null)
return _frame.Navigate(type);
return _frame.Navigate(type, parameter);
}
示例2: TryClose
/// <summary>
/// Tries to close view-model page.
/// </summary>
public bool TryClose(IViewModel viewModel, IDataContext dataContext)
{
Should.NotBeNull(viewModel, "viewModel");
var content = CurrentContent;
if (content != null && ViewManager.GetDataContext(content) == viewModel && CanGoBack)
{
GoBack();
return true;
}
#if WINDOWSCOMMON
bool closed = false;
var viewModelId = viewModel.GetViewModelId();
for (int index = 0; index < _frame.BackStack.Count; index++)
{
var parameter = _frame.BackStack[index].Parameter as NavigationParameter;
if (parameter != null && parameter.Id == viewModelId)
{
_frame.BackStack.RemoveAt(index);
--index;
closed = true;
}
}
return closed;
#else
return false;
#endif
}
示例3: CanClose
/// <summary>
/// Determines whether the specified command <c>CloseCommand</c> can be execute.
/// </summary>
public bool CanClose(IViewModel viewModel, IDataContext dataContext)
{
Should.NotBeNull(viewModel, "viewModel");
var content = CurrentContent;
var canClose = content != null && ViewManager.GetDataContext(content) == viewModel && CanGoBack;
if (canClose)
return true;
#if WINDOWSCOMMON
var viewModelId = viewModel.GetViewModelId();
for (int index = 0; index < _frame.BackStack.Count; index++)
{
var parameter = _frame.BackStack[index].Parameter as NavigationParameter;
if (parameter != null && parameter.Id == viewModelId)
return true;
}
#endif
return false;
}
示例4: Navigate
private bool Navigate(Type type, string parameter, IViewModel viewModel)
{
#if WINDOWSCOMMON
if (viewModel != null)
{
if (parameter == null)
parameter = viewModel.GetViewModelId().ToString();
else
parameter = viewModel.GetViewModelId().ToString() + IdSeparator[0] + parameter;
}
#endif
_lastParameter = parameter;
if (parameter == null)
return _frame.Navigate(type);
return _frame.Navigate(type, parameter);
}
示例5: TryClose
public bool TryClose(IViewModel viewModel, IDataContext dataContext)
{
Should.NotBeNull(viewModel, "viewModel");
var content = CurrentContent;
if (content != null && ViewManager.GetDataContext(content) == viewModel && CanGoBack)
{
GoBack();
return true;
}
bool closed = false;
var viewModelId = viewModel.GetViewModelId();
for (int index = 0; index < _frame.BackStack.Count; index++)
{
if (GetViewModelIdFromParameter(_frame.BackStack[index].Parameter) == viewModelId)
{
_frame.BackStack.RemoveAt(index);
--index;
closed = true;
}
}
return closed;
}
示例6: CanClose
public bool CanClose(IViewModel viewModel, IDataContext dataContext)
{
Should.NotBeNull(viewModel, "viewModel");
var content = CurrentContent;
var canClose = content != null && ViewManager.GetDataContext(content) == viewModel && CanGoBack;
if (canClose)
return true;
var viewModelId = viewModel.GetViewModelId();
for (int index = 0; index < _frame.BackStack.Count; index++)
{
if (GetViewModelIdFromParameter(_frame.BackStack[index].Parameter) == viewModelId)
return true;
}
return false;
}