示例#1
0
 private void TextBlock_DataContextChanged(object sender, System.Windows.DependencyPropertyChangedEventArgs _)
 {
     if (sender is TextBlock textBlock && DataContext is TwitterStatus twitterStatus)
     {
         textBlock.Inlines.Clear();
         textBlock.Inlines.AddRange(FlowContentService.FlowContentInlines(twitterStatus));
     }
 }
示例#2
0
        public static ValueTask Execute(Timeline timeline)
        {
            foreach (var status in timeline.StatusCollection)
            {
                if (status.FlowContent is null)
                {
                    status.FlowContent = FlowContentService.FlowContentNodes(status).ToArray();
                }
            }

            return(default);
示例#3
0
        protected override void OnDataContextChanged(EventArgs e)
        {
            base.OnDataContextChanged(e);

            if (DataContext is not TwitterStatus status)
            {
                return;
            }

            var token = this.FindLogicalAncestorOfType <ICancellationTokeSourceProvider>()?.CancellationTokenSource.Token ?? CancellationToken.None;

            if (token.IsCancellationRequested)
            {
                return;
            }

            var wrapPanel = this.FindControl <WrapPanel>("Container");

            wrapPanel.Children.Clear();
            wrapPanel.Children.AddRange(FlowContentService.FlowContentInlines(status, token));
        }
示例#4
0
 public object?Convert(object value, Type targetType, object parameter, CultureInfo culture)
 {
     return(value is TwitterStatus ts
         ? FlowContentService.FlowContentInlines(ts)
         : null);
 }