Windows phone 7 设置webbrowser值+windows phone
我的属性描述中有一个html。当我用textblock ex texthide绑定这个属性时,它在textblock中显示html。但是我不能用这个属性绑定WebBrowser。如何将html字符串绑定到WebBrowserWindows phone 7 设置webbrowser值+windows phone,windows-phone-7,xaml,browser,windows-phone-8,Windows Phone 7,Xaml,Browser,Windows Phone 8,我的属性描述中有一个html。当我用textblock ex texthide绑定这个属性时,它在textblock中显示html。但是我不能用这个属性绑定WebBrowser。如何将html字符串绑定到WebBrowser <ScrollViewer HorizontalScrollBarVisibility="Disabled" VerticalScrollBarVisibility="Auto" Margin="25, 0, 0, 0" Grid.Row="0
<ScrollViewer
HorizontalScrollBarVisibility="Disabled"
VerticalScrollBarVisibility="Auto"
Margin="25, 0, 0, 0"
Grid.Row="0">
<StackPanel Orientation="Vertical">
<TextBlock
x:Name="TextHide"
Text="{Binding Path=Descrption}"
Style="{StaticResource servicesText}"
TextWrapping="Wrap" />
<phone:WebBrowser
Source="{Binding Descrption}"
x:Name="webBrowserHTML"
Foreground="Black"
Loaded="webBrowserHTML_Loaded" />
<!--<Image Source="../Images/cont_banner.png" Width="270" Grid.Row="1"/>-->
<Button Grid.Row="1">
<Button.Background>
<ImageBrush ImageSource="../Images/cont_banner.png" />
</Button.Background>
<Button.Content>
<HyperlinkButton Content="" NavigateUri="callto:3950" />
</Button.Content>
</Button>
</StackPanel>
</ScrollViewer>
有什么想法吗?
致意为了能够将HTML直接绑定到WebBrowser控件,您必须创建一个附加属性:
namespace YourAppNamespace
{
public static class WebBrowserHelper
{
public static readonly DependencyProperty HtmlProperty = DependencyProperty.RegisterAttached(
"Html", typeof(string), typeof(WebBrowserHelper), new PropertyMetadata(OnHtmlChanged));
public static string GetHtml(DependencyObject dependencyObject)
{
return (string)dependencyObject.GetValue(HtmlProperty);
}
public static void SetHtml(DependencyObject dependencyObject, string value)
{
dependencyObject.SetValue(HtmlProperty, value);
}
private static void OnHtmlChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
{
var browser = d as WebBrowser;
if (browser == null)
return;
var html = e.NewValue.ToString();
browser.NavigateToString(html);
}
}
}
添加所需的XAML命名空间声明:
xmlns:cxi="clr-namespace:YourAppNamespace"
然后像这样使用它:
<phone:WebBrowser cxi:WebBrowserHelper.Html="{Binding Question.Body}" />
为了能够将HTML直接绑定到WebBrowser控件,您必须创建一个附加属性:
namespace YourAppNamespace
{
public static class WebBrowserHelper
{
public static readonly DependencyProperty HtmlProperty = DependencyProperty.RegisterAttached(
"Html", typeof(string), typeof(WebBrowserHelper), new PropertyMetadata(OnHtmlChanged));
public static string GetHtml(DependencyObject dependencyObject)
{
return (string)dependencyObject.GetValue(HtmlProperty);
}
public static void SetHtml(DependencyObject dependencyObject, string value)
{
dependencyObject.SetValue(HtmlProperty, value);
}
private static void OnHtmlChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
{
var browser = d as WebBrowser;
if (browser == null)
return;
var html = e.NewValue.ToString();
browser.NavigateToString(html);
}
}
}
添加所需的XAML命名空间声明:
xmlns:cxi="clr-namespace:YourAppNamespace"
然后像这样使用它:
<phone:WebBrowser cxi:WebBrowserHelper.Html="{Binding Question.Body}" />