2013-04-05 42 views
0

這是我的XAML標記:如何獲取超鏈接中的運行文本?

<TextBlock> 
    <Hyperlink Click="InstrumentFile_Click"> 
     <Run Text="{Binding InstrumentFile}"/> 
    </Hyperlink> 
</TextBlock> 

C#:

private void InstrumentFile_Click(object sender, RoutedEventArgs e) 
{ 
    Hyperlink link = sender as Hyperlink; 
    if (link != null) 
    { 
     //need to get text here 
    } 
} 

我想綁定到運行中的文本。我怎樣才能得到?謝謝!

+0

說些什麼?你能否折服那個標題/問題 – BerggreenDK 2013-04-05 09:59:22

+0

它有什麼問題?相反,你能否改善你的錯別字?它的意思是我知道,而不是*折磨* :) – Jack 2013-04-05 10:01:07

+0

你想要'得到'它在哪裏?在'InstrumentFile_Click'方法中? – fguchelaar 2013-04-05 10:06:19

回答

3

這是一個愚蠢的局面。您已經使用InstrumentFile成員編寫了一個類,並通過該視圖綁定了該類。現在,您想以編程方式訪問視圖,以便首先獲取您提供的數據?它倒退了!

只需直接訪問InstrumentFile成員。您首先編寫了代碼!

+0

不像你想象的那麼愚蠢。我沒有實現MVVM模式,也沒有使用INotifyPropertyChanged。此處發佈的文本塊位於DataGrid中。你能否澄清我怎麼知道哪個超鏈接被點擊並訪問它的文本? – Jack 2013-04-05 13:20:53

+1

'sender'屬性爲您提供了單擊的對象,並且您知道它的'DataContext'將是它綁定的對象。如果你真的不想使用MVVM,從'sender'獲取超鏈接,獲取綁定的對象並訪問屬性。但是這是MVVM解決極端簡單易用的一個可怕模型 – 2013-04-05 13:35:20

+0

是的,謝謝。這就是我所做的按fguchelaar – Jack 2013-04-08 03:06:31