Exemple #1
0
        private async void URLBox_TextChanged(object sender, TextChangedEventArgs e)
        {
            string url = URLBox.Text;

            analyser?.Dispose();
            analyser = UrlConverter.GetAnalyser(url);
            if (analyser == null)
            {
                return;
            }

            controller.RegistAnalyser(null, analyser);
            analyser.BindVisualController(controller);
            await analyser.SetURLAsync(url);
        }
        //得到了一个新URL,分析其文件名,文件大小
        private async void AddURL(string URL)
        {
            AbstractAnalyser analyser = Converters.UrlConverter.GetAnalyser(URL);
            await analyser.SetURLAsync(URL);

            if (analyser.IsLegal())
            {
                URLMessage message = new URLMessage();
                message.URL                 = analyser.URL;
                message.StreamSize          = analyser.GetStreamSize();
                message.RecommendedFileName = analyser.GetRecommendedName();
                if (message.RecommendedFileName == null)
                {
                    message.RecommendedFileName = string.Empty;
                }
                message.StreamSizeToString = Converters.StringConverter.GetPrintSize(analyser.GetStreamSize());
                AddListViewItem(message);
                LimitListLength();
            }
            analyser.Dispose();
        }