繁体   English   中英

从OpenFileDialog创建(以编程方式)到文件的超链接并将其放在TextBlock中

[英]Create a hyperlink(programatically) to a file from an OpenFileDialog and putting it in a TextBlock

我正在处理即时消息UI分配,其中一项要求是“发送”文件的能力,该应用程序未连接到网络,因此它基本上只需要显示在输出TextBlock中即可。 我的想法是应该在单击时打开它,我的第一个想法是将超链接和OpenFileDialog结合起来,但是超链接对我来说是未知领域。

我的想法是尝试使用OpenFileDialog,并从中获取文件名,然后以某种方式将其转换为超链接,然后将其添加到输出TextBlock中,但是我什至不知道如何。

这是打开文件对话框的代码(未完成,自从我碰到砖墙以来就不好了):

        private void FileSelect_Click(object sender, RoutedEventArgs e)
    {
        string fileName;

        OpenFileDialog OFD = new OpenFileDialog();

        OFD.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
        OFD.Title = "Select a file to send";
        fileName = OFD.FileName;

        if(OFD.ShowDialog() == true)
        {
            Hyperlink hype = new Hyperlink();
           //..........
        }
    }

假设的文件假定在输出TextBlock中发送:

<TextBlock Margin="5,0,0,0" Name="tbDestination" 
                                            ScrollViewer.HorizontalScrollBarVisibility="Auto"
                                            ScrollViewer.VerticalScrollBarVisibility="Auto"
                                            ScrollViewer.CanContentScroll="True">
                </TextBlock>

欢迎提供有关如何处理此类问题的任何技巧。 我对此还是有点陌生​​,所以我不知道绳索。

您必须在xaml窗口中添加一个超链接元素:

  <TextBlock>           
    <Hyperlink NavigateUri="http://myurl">
        <TextBlock Name="mylink"> </TextBlock>
    </Hyperlink>
  </TextBlock>

然后设置“ mylink”文本块的text属性

private void FileSelect_Click(object sender, RoutedEventArgs e)
{
    string fileName;

    OpenFileDialog OFD = new OpenFileDialog();

    OFD.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
    OFD.Title = "Select a file to send";
    fileName = OFD.FileName;

    if(OFD.ShowDialog() == true)
    {
        this.mylink.text = fileName ;
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM