WPF顯示SQLITE數據(二)

在上一篇WPF顯示SQLITE數據(一)中,關於鏈接的字段,只是顯示了下劃線,單擊後連接到瀏覽器的對應頁面並沒有實現,下面給出單擊事件的實現

1.在xaml中寫入事件定義

1 <DataGridHyperlinkColumn Header="URL地址" Width="940" Binding="{Binding url, Mode=OneWay, UpdateSourceTrigger=PropertyChanged}">
2     <DataGridHyperlinkColumn.ElementStyle>
3         <Style>
4             <EventSetter Event="Hyperlink.Click" Handler="Hyperlink_Click"/>
5         </Style>
6     </DataGridHyperlinkColumn.ElementStyle>
7 </DataGridHyperlinkColumn>

2.在MainWindow.xaml.cs中寫入

 1 private void Hyperlink_Click(object sender, RoutedEventArgs e)
 2 {
 3     System.Windows.Documents.Hyperlink link = (System.Windows.Documents.Hyperlink)e.OriginalSource;
 4     //Process.Start("IEXPLORE.EXE",link.NavigateUri.AbsoluteUri);
 5     string url = link.NavigateUri.AbsoluteUri;
 6     Process p = new Process();
 7     p.StartInfo.FileName = "cmd.exe";
 8     p.StartInfo.UseShellExecute = false; //不使用shell啓動
 9     p.StartInfo.RedirectStandardInput = true;//喊cmd接受標準輸入
10     p.StartInfo.RedirectStandardOutput = false;//不想聽cmd講話所以不要他輸出
11     p.StartInfo.RedirectStandardError = true;//重定向標準錯誤輸出
12     p.StartInfo.CreateNoWindow = true;//不顯示窗口
13     p.Start();
14 
15     //向cmd窗口發送輸入信息 後面的&exit告訴cmd運行好之後就退出
16     p.StandardInput.WriteLine("start " + url + "&exit");
17     p.StandardInput.AutoFlush = true;
18     p.WaitForExit();//等待程序執行完退出進程
19     p.Close();
20 }

即可實現。

開始按照網上一些資料寫Process.Start("IEXPLORE.EXE",link.NavigateUri.AbsoluteUri);,試了後發現會報錯,查閱資料後,改爲了模擬控制檯的

start + url +&exit形式打開網頁鏈接,測試成功!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章