所以在经典MVVM示例中,我看到DataTemplate定义用于将View Models映射到Views,在MVVM Light框架中执行此操作的标准方法是什么,以及映射应该放在何处?以下是我现在正在做的事情和我正在谈论的内容的例子,可混合性对我来说很重要!
主窗口:
<Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
x:Class="STS2Editor.MainWindow"
Title="{Binding ApplicationTitle, Mode=OneWay}"
DataContext="{Binding RootViewModel, Source={StaticResource Locator}}">
<Window.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="Skins/ApplicationSkin.xaml" />
<ResourceDictionary Source="Resources/ViewMappings.xaml" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Window.Resources>
<Grid>
<ContentControl Content="{Binding ApplicationManagementViewModel}" HorizontalAlignment="Left" VerticalAlignment="Top"/>
</Grid>
</Window>
Run Code Online (Sandbox Code Playgroud)
在上面的代码中,我的RootViewModel类有一个ApplicationManagementViewModel类的实例,它具有相同的属性名:
public ApplicationManagementViewModel ApplicationManagementViewModel {get {...} set {...} }
Run Code Online (Sandbox Code Playgroud)
我引用ResourceDictionary"ViewMappings.xaml"来指定我的视图模型如何表示为视图.
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:STS2Editor.ViewModel">
<DataTemplate DataType="{x:Type local:ApplicationManagementViewModel}">
<local:ApplicationManagementView/>
</DataTemplate>
</ResourceDictionary>
Run Code Online (Sandbox Code Playgroud)
我应该使用ViewModelLocator做这样的事情吗?那些视图模型的集合呢?
我只是希望得到一个共识,即JS在冒泡和捕获之间更好的事件委派模式.
现在我明白,根据特定的用例,人们可能希望使用捕获阶段而不是冒泡,反之亦然,但我想了解哪种委派模式适用于大多数一般情况以及为什么(对我而言似乎冒泡模式).
换句话说,W3C addEventListener实现背后的原因是支持冒泡模式.[仅当您指定第3个参数及其true时才会启动捕获.但是,你可以忘记第三个参数和冒泡模式被踢了]
我抬头看了看JQuery的绑定功能得到一个回答我的问题,似乎它甚至不支持捕获阶段事件(在我看来,因为IE不支持拍摄模式).
所以看起来冒泡模式是默认选择,但为什么呢?
我以前使用过ImageView,并了解可以设置的不同比例类型......但是我在使用ListActivity或ExpandableListActivity的行中正确地缩放ImageView时遇到了非常困难的时间.
我已经尝试将android:scaleType属性设置为每个值,但图像从不缩小.我也设置了最小和最大尺寸,它们似乎没有任何效果.我已经在XMl和代码中完成了这两件事但无济于事......
有没有人有任何想法或解决方法?
提前致谢!
编辑:这是ExpandableListView中组行的XML
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:padding="6dip"
>
<ImageView
android:id="@+id/item_selection_icon_id"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="5dp"
android:layout_marginLeft="30dp"
android:minWidth="10dp"
android:minHeight="10dp"
android:maxWidth="10dp"
android:maxHeight="10dp"
android:scaleType="centerInside"
/>
<!-- App Name -->
<TextView
android:id="@+id/item_app_name_id"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_toRightOf="@id/item_selection_icon_id"
android:layout_alignBaseline="@id/item_selection_icon_id"
android:textStyle="normal|bold"
android:textSize="24sp"
/>
<!-- Package Information -->
<TextView
android:id="@+id/item_app_pkg_name_id"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@id/item_app_name_id"
android:layout_toRightOf="@id/item_selection_icon_id"
android:layout_weight="2"
android:textStyle="italic"
android:textSize="12sp"
/>
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud) 在一个视图中,我正在尝试创建一个新用户,然后将其登录,但会在成功时生成一个新URL.
def create(request):
if request.method == "POST":
# do user creation #
user.save()
auth_user = authenticate(username=user.username,password=user.password)
if auth_user is not None:
login(request, auth_user)
return HttpResponseRedirect('/user/account/')
return render_to_response('create_form.html')
Run Code Online (Sandbox Code Playgroud)
那么,如何在非关联视图中user使用HttpResponseRedirect或验证登录用户来维护对象?
我发现在大多数知名的javascript库中都缺少许多高级函数,比如jquery,YUI等.以字符串操作为例,startsWith,endsWith,contains,lTrim,rTrim,trim,isNullOrEmpty ......等.这些功能实际上非常常见.
我想知道是否存在填充这些空白(包括但不限于字符串操作)的javascript库的javascript库/插件?
如果库不覆盖原型会很棒.
我们在服务器的根目录中安装了WP并且运行良好..但是,我们刚刚在子域中安装了另一个应用程序.现在,我可以查看该应用程序的index.php文件,但不能对它做任何事..根htaccess的规则(从WP基本安装)的影响的请求.
那么,如何消除WP htaccess文件影响子域呢?
以下是root的htaccess内容(WP安装):
<IfModule mod_rewrite.c>
RewriteEngine On
# BEGIN WordPress
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress
</IfModule>
Run Code Online (Sandbox Code Playgroud)
对于子域中的htaccess:
RewriteEngine on
RewriteCond $1 !^(index\.php|css|stylesheets|js|images|user_guide|favicon\.ico|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]
Run Code Online (Sandbox Code Playgroud)
我在网上到处搜索并尝试了一些我发现的样本......没有任何效果.
任何帮助是极大的赞赏 !谢谢
更新: 似乎Wordpress不是罪魁祸首..出于好奇,我删除了WP .htaccess文件中的所有行..并且子域中的应用程序仍然无法正常工作.它的重写规则一定是错的..
所以,这是第二个重写规则无效.如果我输入/index.php?about然后我可以看到关于页面..但它应该显示为:/ about
我想使用openoffice中文字体,例如AR PL SungtiL GB,但xelatex告诉我它是一个无效的名称(如下所示).看起来字体名称有空格,因此无法识别它?我应该怎么解决这个问题?
(/usr/share/texmf-texlive/tex/latex/base/syntonly.sty)kpathsea: Invalid fontname `AR PL SungtiL GB', contains ' '
Run Code Online (Sandbox Code Playgroud)
我在Ubuntu上使用XeTeX 3.1415926-2.2-0.9995.2(TeX Live 2009/Debian)中的xeCJK包.
我想扫描PowerPoint 2007文件,但我正在尝试使用C++.是否有适用于C++的Open XML解析器?
我希望能够计算两个日期d1和d2的营业日期(周一至周五).然而,在某些地方,工作日是坐着或晒太阳.
STL或C++中是否有允许进行此类计算的工具?
JCheckBox当某个其他字段为空时,我不应该检查用户.
所以现在我想有一个错误弹出,然后重置该复选框(我已经考虑禁用该复选框,但对于另一场的连接并不明显,和工具提示文本IMO不够可见).
在Swing中这样做的正确方法是什么?通过一个PropertyVetoException?我在哪里扔它,我在哪里抓到它?我的第一个(可能是丑陋的)想法是添加一个ChangeListener本身显示弹出窗口并重置值.
编辑:问题是关于Nikki(下面的截图),我正在开发的一个应用程序地理标记图像并将其导出到谷歌地球的KMZ格式.该复选框用于选择要包含在导出中的图像.但这需要首先获取图像(这又需要时间戳或手动分配).我不认为这个要求可以通过UI布局显而易见.
c++ ×2
javascript ×2
.htaccess ×1
algorithm ×1
android ×1
blendability ×1
cjk ×1
date ×1
django ×1
high-level ×1
imageview ×1
java ×1
latex ×1
listview ×1
mod-rewrite ×1
mvvm ×1
mvvm-light ×1
openxml ×1
powerpoint ×1
scale ×1
subdomain ×1
swing ×1
tex ×1
wordpress ×1
wpf ×1
xetex ×1