/// <summary>
        /// Creates a new TextBlock, with default settings.
        /// </summary>
        /// <returns>The created TextBlock</returns>
        internal SelectableTextBlock CreateTextBlock(RenderContext context)
        {
            var result = new SelectableTextBlock
            {
                FontFamily    = FontFamily,
                FontSize      = FontSize,
                FontStretch   = FontStretch,
                FontStyle     = FontStyle,
                FontWeight    = FontWeight,
                Foreground    = context.Foreground,
                FlowDirection = FlowDirection
            };

            return(result);
        }
Example #2
0
        private void tBtnAppend_Click(object sender, RoutedEventArgs e)
        {
            List <ItemsControl> ics  = new List <ItemsControl>();
            List <ToggleButton> btns = new List <ToggleButton>();

            for (int i = 0; i < this.list.Items.Count; i++)
            {
                var          item = this.list.ItemContainerGenerator.ContainerFromIndex(i);
                ItemsControl ic   = FindSingleVisualChildren <ItemsControl>(item);
                ics.Add(ic);
            }
            List <List <SuperSelectableTextBlock> > superTextBlocks = new List <List <SuperSelectableTextBlock> >();
            //List<List<SelectableTextBlock>> selectableTextBlocks = new List<List<SelectableTextBlock>>();
            List <List <ToggleButton> > btnss = new List <List <ToggleButton> >();

            foreach (ItemsControl child in ics)
            {
                List <SuperSelectableTextBlock> s = new List <SuperSelectableTextBlock>();
                List <ToggleButton>             t = new List <ToggleButton>();
                //List<SelectableTextBlock> k = new List<SelectableTextBlock>();
                for (int i = 0; i < child.Items.Count; i++)
                {
                    var obj = child.ItemContainerGenerator.ContainerFromIndex(i);
                    s.Add(FindSingleVisualChildren <SuperSelectableTextBlock>(obj));
                    t.Add(FindSingleVisualChildren <ToggleButton>(obj));
                    //k.Add(FindSingleVisualChildren<SelectableTextBlock>(obj));
                }
                superTextBlocks.Add(s);
                btnss.Add(t);
                //selectableTextBlocks.Add(k);
            }
            ToggleButton btn = sender as ToggleButton;

            foreach (List <SuperSelectableTextBlock> child in superTextBlocks)
            {
                foreach (SuperSelectableTextBlock child1 in child)
                {
                    if (child1.DataContext == btn.DataContext)
                    {
                        int j = child.IndexOf(child1);
                        int i = superTextBlocks.IndexOf(child);
                        SelectableTextBlock result = superTextBlocks[i][j];
                        if (btn.IsChecked == true)
                        {
                            child1.Height = double.NaN;

                            //child1.Visibility = Visibility.Collapsed;
                            //result.Visibility = Visibility.Visible;
                            //result.TextTrimming = TextTrimming.None;
                            //result.Height = double.NaN;
                            //result.TextWrapping = TextWrapping.WrapWithOverflow;


                            //MessageModel msg = (this.DataContext as ChatViewModel).StrangerMessageList[i].Chat.Messages[j];
                            //Binding binding = new Binding();
                            //binding.Source = msg;
                            //binding.Path = new PropertyPath("Content");
                            //binding.Converter =new Converter.MessageToViewConverter();
                            //BindingOperations.SetBinding(result, SelectableTextBlock.ContentProperty, binding);
                        }
                        else
                        {
                            child1.Height = 30;
                            //child1.Visibility = Visibility.Visible;
                            //result.Visibility = Visibility.Collapsed;
                            //result.Height = 30;
                        }
                    }
                }
            }
        }