我从Caliburn.micro开始,我有点困惑.假设我有一个带有2个窗格的UI,例如(这是一个假的样本)CustomersView和CustomerView,以及2个相应的VM,CustomersViewModel和CustomerViewModel.
现在,假设我想将两个窗格都包含在主shell中,它应该能够像数据成员一样访问所有VM:例如
public class MainViewModel
{
private CustomerViewModel _vmCustomer;
private CustomersViewModel _vmCustomers;
...
}
Run Code Online (Sandbox Code Playgroud)
由于视图模型是由CM创建的,我如何将主shell连接到它们的每个实例?或者这是一种错误的方法?我不需要在规范意义上的指挥,因为我没有激活或停用MDI中的一组窗格:我有一个带有一些窗格的SDI UI,每个窗格都由其VM支持,还有一个主shell应该是操纵他们.类似场景中的正确方法是什么?
我试图在Bootstrap 3 CSS布局中创建一些"水平带",扩展到浏览器窗口的整个大小,因此超出了内容类边距.这是一个Plunker:http://plnkr.co/edit/6SlNU0ZgFehrBD64r9FG .我发现我可以通过使用一个container-fluid类来完成这个:这意味着有一个包含其他div的类的div,一些代表我的"band",另一些只是使用container该类.因此,我的相关CSS是:
div.band {
width: 100% !important;
background-color: #D7EAD8;
color: #323F3F;
}
Run Code Online (Sandbox Code Playgroud)
和我的HTML:
<div class="container-fluid">
<div class="row band">Hello band</div>
<div class="container">
<div class="row">...</div>
</div>
<div class="row band">Another band</div>
<div class="container">
<div class="row">...</div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
然而,这并没有完全奏效,因为我在"乐队"div的右边缘不断获得一些白色边缘.我不知道Bootstrap的内部结构,当然我做错了什么,有没有人可以建议一个解决方案来使"带"全宽?
我发布这个参考这个以前的帖子 服务器端分页+过滤+使用WebAPI进行ng-grid排序,希望能够最终得出一个简单但有效的使用ng-grid和外部数据源的样本.到目前为止,我已经设法实现了外部分页和排序,但我遇到了过滤问题.
它看起来像NG网过滤选项filterText属性未绑定到视图.当我在ng-grid的过滤器文本中键入内容时,我的$ watch-ed函数不会被调用,因此我没有机会向服务器请求过滤数据.然而,当用于例如分页或排序时,相同的监视表达式工作正常.
通过挖掘一下,我发现这篇文章https://github.com/angular-ui/ng-grid/pull/456关于这个领域的一个错误,但目前尚不清楚这是否仍然是一个悬而未决的问题.有人可以帮忙吗?这是相关的JS代码片段:
var app = angular.module('MyApp', ['ngGrid']);
app.controller('MainController', ['$scope', '$http', function ($scope, $http) {
$scope.items = [];
$scope.filterOptions = {
filterText: "",
useExternalFilter: true
};
$scope.totalServerItems = 0;
$scope.pagingOptions = {
pageSizes: [25, 50, 100],
pageSize: 25,
currentPage: 1
};
$scope.sortOptions = {
// omitted for brevity...
};
$scope.gridOptions = {
data: "items",
columnDefs: [
{ field: "id", displayName: "ID", width: "60" },
{ field: "name", displayName: "Name", pinnable: true }, …Run Code Online (Sandbox Code Playgroud) 我在MVVM WP7应用程序中使用WebBrowser控件.我使用附加属性来允许将控件绑定到生成的HTML字符串,如http://compiledexperience.com/blog/posts/binding-html-to-the-web-browser-control中所述.附加属性绑定到我的VM,生成HTML代码.问题是代码是在控件完全加载之前生成的,因此当VM属性发生更改时会出现异常:
在可视树中,您无法调用WebBrowser方法.
我可以使用一些"hack",比如完全避免绑定,而是从我的VM中激活一个事件并让视图处理它并将其调用到WebBrowser.NavigateToString,直到它被加载,但我想知道是否有人可以提出更好的建议,更优雅的方式......