Ich habe eine Liste von Sharepoint und ich sammle von dieser Liste einen Hyperlink. Da ich möchte, dass meine Textbox wie ein Hyperlink ist, habe ich ein Ereignis auf mousedown hinzugefügt, um diesen Hyperlink zu öffnen. Meine Sorge ist, wie man diesen Hyperlink im Codebehind mit dem Absender sammelt. Für den Moment habe ich nur diesen Hyperlink in der QuickInfo verstecken, vielleicht kann ich das anders verwalten jeder Vorschlag wird sehr geschätzt werden. Mein Punkt so weit, ich weiß nicht, wie man diesen Tooltip in den Code hinter sich bringt. DankTextBlock MouseDown URL - Wie bekomme ich meine URL in meinem Code zurück?
Meine XAML-Code:
<ListBox Name="ListboxTips" ItemsSource="{Binding}" ScrollViewer.HorizontalScrollBarVisibility="Disabled">
<ListBox.ItemTemplate>
<DataTemplate>
<Grid>
<StackPanel Orientation="Horizontal">
<Image Source="{Binding Path=Picture}" Height="20"></Image>
<TextBlock MouseDown="TextBlock_MouseDown_URL" TextDecorations="Underline"
Margin="10,10,20,10" Width="160" TextWrapping="Wrap"
Text="{Binding Path=TitleTip}"
ToolTip="{Binding Path=URL}"/>
</StackPanel>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
Mein Code hinter:
foreach (SPSClient.ListItem item in TipsList)
{
var tips = new Tips();
tips.TitleTip = item.FieldValues.Values.ElementAt(1).ToString();
tips.App = item.FieldValues.Values.ElementAt(4).ToString();
// get the Hyperlink field URL value
tips.URL = ((FieldUrlValue)(item["LinkDoc"])).Url.ToString();
//should collect the description of the url
//tips.URLdesc = ((FieldUrlValue)(item["LinkDoc"])).Description.ToString();
tips.Picture = item.FieldValues.Values.ElementAt(4).ToString();
colTips.Add(tips);
}
ListboxTips.DataContext = colTips;
....
private void TextBlock_MouseDown_URL(object sender, System.Windows.Input.MouseButtonEventArgs e)
{
//string test = (ToolTip)(sender as Control).ToString();
System.Diagnostics.Process.Start("http://www.link.com");
//System.Diagnostics.Process.Start(test);
}
Vielen Dank,