我在Visual Studio 2013的帮助下使用Windows 10中的https://slideview.codeplex.com制作Windows 8.1应用程序。我可以成功禁用右窗格。我也可以添加TextBox,我可以分别从每个页面设置。但是当我使用TextBox添加Image时,它将无法工作,但如果我只放置没有Textbox的Image,它将起作用。我做了以下代码。
<Setter Property="HeaderTemplate">
<Setter.Value>
<DataTemplate>
<Grid Background="#48649F">
<Grid.RowDefinitions>
<RowDefinition/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="2*"/>
<ColumnDefinition Width="4*"/>
</Grid.ColumnDefinitions>
<Image Source="{Binding library:SlideApplicationFrame.ImageSource}" HorizontalAlignment="Right" Stretch="None" Grid.Column="0"/>
<TextBlock Margin="6,12" VerticalAlignment="Center" FontSize="26" Text="{Binding}" Grid.Column="1" />
</Grid>
</DataTemplate>
</Setter.Value>
</Setter>
一旦解决了,我想动态制作Image Source。为此,我在 SlideApplicationFrame.cs 中添加了以下代码,但它没有帮助
#region ImageSource (DependencyProperty)
/// <summary>
/// Content for the header
/// </summary>
public object ImageSource
{
get { return (object)GetValue(ImageSourceProperty); }
set { SetValue(ImageSourceProperty, value); }
}
public static readonly DependencyProperty ImageSourceProperty =
DependencyProperty.Register("ImageSource",
typeof(object),
typeof(SlideApplicationFrame),
new PropertyMetadata(null));
#endregion
请帮助我解决这个问题。
答案 0 :(得分:0)
我的错误是我没有看 ContentPresenter 我在下面添加了一个属性
Tag="{TemplateBinding ImageSource}"
并且它始于我的要求