我想用编译后的绑定将页面中的元素绑定到代码中的依赖项属性,同时用通常的绑定将另一个元素绑定到ViewModel。但这会导致运行时错误。
这是我的xaml代码。
<Page
x:Class="XbindingProblem.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:XbindingProblem"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
DataContext="{Binding Main, Source={StaticResource Locator}}"
mc:Ignorable="d">
<Page.Resources>
<DataTemplate x:Key="UserDataTemplate" x:DataType="local:User">
<StackPanel>
<TextBlock Text="{x:Bind Name}" />
<TextBlock Text="{x:Bind Age}" />
</StackPanel>
</DataTemplate>
</Page.Resources>
<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
<StackPanel>
<TextBlock Text="{Binding Title}"/>
<ContentPresenter ContentTemplate="{StaticResource UserDataTemplate}" Content="{x:Bind CurrentUser, Mode=OneWay}"/>
</StackPanel>
</Grid>
Run Code Online (Sandbox Code Playgroud)
这里CurrentUser是依赖项属性,该属性最初为null,然后在运行时更改。这给出了以下运行时错误。
Incorrect type passed into template. Based on the x:DataType global::XbindingProblem.User was expected.
Run Code Online (Sandbox Code Playgroud)
问题在于,当CurrentUser为null时,它将ViewModel传递给UserDataTemplate而不是CurrentUser依赖项属性。
谁能对这个问题有一个很好的解释?
任何人都可以告诉我哇在Windows 8.1(而不是Silverlight应用程序)中使用Pivot控件?我在代码中尝试了它,它在我运行应用程序时起作用.
但是无论如何要在Xaml中做到这一点?救命
我有一个简单的问题。由于我一次只能COntentDialog打开一个,并且在关闭事件中ContentDialog我有一个条件,可以ContentDialog通过执行args.Cancel = true. 所以这样做ContentDialog.Hide()有时不能关闭ContentDialog,当再次打开对话框时会导致异常。因此,在任何对话框之前,我希望能够检查其他对话框是否已关闭。我怎样才能做到这一点 ?
在我的UWP应用程序中,我有一个有2列的网格.该应用程序是自适应的,在移动设备上我只想一次显示一列.有没有办法使用动画来减少第1列的宽度并从第2列扩展宽度,反之亦然?
我有一个现有的Windows Phone 8应用程序,它基本上是一个警报应用程序.无论出于何种原因,新的Windows Phone RunTime都不支持Alarm类,因此我只能将其升级到Windows Phone Silverlight 8.1.
幸运的是,WP SL 8.1项目仍然能够引用Windows RunTime组件,因为我的目标是使用新的后台任务机制中的一些很酷的功能.
这是我的问题 -
我的应用程序当前使用独立存储来存储数据,而它不在前台,其后台任务项目需要从隔离存储中检索数据并将其显示在实时磁贴上.但是,由于此项目是Windows RunTime组件,因此它不再支持隔离存储...
所以,我讨厌问,但是,我是不是死路一条?
windows-phone windows-runtime windows-phone-8.1 windows-phone-sl-8.1
我正在尝试在我的应用中创建一个设置菜单
我知道怎么做但是我对内容对话框的宽度有问题,显然宽度有限制.
这是我的内容对话框的代码:
Title="" Margin="12,0,-12,0" HorizontalAlignment="Stretch" Width="800" Height="600" VerticalAlignment="Stretch" Background="{x:Null}">
<Grid x:Name="Main" ScrollViewer.VerticalScrollBarVisibility="Auto" Width="800">
<Grid.RowDefinitions>
<RowDefinition Height="58"/>
<RowDefinition Height="58"/>
<RowDefinition/>
<RowDefinition Height="76"/>
</Grid.RowDefinitions>
<TextBox x:Name="Title_TextBox" Text="" Margin="10,10,10,0" PlaceholderText="Please enter your story title..." RequestedTheme="Light" FontSize="16" MaxLength="50" Grid.Row="1" />
<TextBox x:Name="Experience_Text" Text="" Grid.Row="2" Margin="10,10,10,0" PlaceholderText="Please tell your experience..." MaxLength="500" FontSize="16" TextWrapping="Wrap" MinHeight="42" AcceptsReturn="True" RequestedTheme="Light" ScrollViewer.VerticalScrollBarVisibility="Auto" VerticalAlignment="Center" Height="190" />
<Grid x:Name="CharacterGrid" Grid.Row="3" Margin="10,0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="48"/>
<ColumnDefinition Width="64"/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<TextBlock x:Name="CharacterLeft" Margin="0" TextWrapping="Wrap" Text="" TextAlignment="Right" FontSize="16" Grid.Column="2" VerticalAlignment="Top" RequestedTheme="Light" />
<Button x:Name="CameraButton" …Run Code Online (Sandbox Code Playgroud) 我正在尝试在Windows 10 Universal App项目中使用VisualStateManager更改某些附加属性,但设置器无法正常工作。它没有设置TopBarGrid元素的附加属性。
如果您在下面看,我正在使用括号符号来更改Grid.Row和Grid.ColumnSpan属性。但是,当我运行该应用程序时,当我扩大宽度时并没有设置属性。我期望网格移动到那个位置。
这是我的代码:
<Grid>
<VisualStateManager.VisualStateGroups>
<VisualStateGroup>
<VisualState x:Name="wideState">
<VisualState.StateTriggers>
<AdaptiveTrigger MinWindowWidth="641" />
</VisualState.StateTriggers>
<VisualState.Setters>
<Setter Target="splitView.DisplayMode" Value="Inline"/>
<Setter Target="splitView.IsPaneOpen" Value="True"/>
<Setter Target="togglePaneButton.Visibility" Value="Collapsed"/>
<Setter Target="appHeader.Margin" Value="0,0,0,0"/>
<Setter Target="PaneHeader.Margin" Value="6,12,0,0"/>
<Setter Target="TopBarGrid.(Grid.Column)" Value="0"/>
<Setter Target="TopBarGrid.(Grid.RowSpan)" Value="2"/>
</VisualState.Setters>
</VisualState>
<VisualState x:Name="narrowState">
<VisualState.StateTriggers>
<AdaptiveTrigger MinWindowWidth="0" />
</VisualState.StateTriggers>
<VisualState.Setters>
<Setter Target="splitView.DisplayMode" Value="Overlay"/>
<Setter Target="togglePaneButton.Visibility" Value="Visible"/>
<Setter Target="PaneHeader.Margin" Value="60,12,0,0"/>
<Setter Target="searchForInfoBox.Width" Value="270"/>
</VisualState.Setters>
</VisualState>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
<Grid.RowDefinitions>
<RowDefinition x:Name="TopRowHeight" Height="80"/>
<RowDefinition Height="*"/>
<RowDefinition Height="60"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/> …Run Code Online (Sandbox Code Playgroud) 在我的UWP(通用Windows平台)应用程序中,我需要创建一个Hyperlink带有图像的元素:
var hyperlink = new Hyperlink();
var container = new InlineUIContainer { Child = new Image() { ... } };
hyperlink.Inlines.Add(container);
Run Code Online (Sandbox Code Playgroud)
这Hyperlink被后来加入到TextBlock与其他元素结合在一起.我的问题是,最后一行(Inlines.Add())抛出异常:
Exception thrown: 'System.ArgumentException' in mscorlib.ni.dll
Additional information: Value does not fall within the expected range.
Run Code Online (Sandbox Code Playgroud)
有人知道解决这个问题的方法吗?