Не работает автопрокрутка (вертикальная) при отключеном автосдвиге(горизонтальной прокрутки при выделении с длинным названием item) горизонтальной панели.
Конфликт e.Handled = true;
и item.BringIntoView
Как исправить конфликт BringIntoView и e.Handled ?
EventSetter Event="RequestBringIntoView" Handler="TreeViewItem_RequestBringIntoView"/>
<Setter Property="localModels:TreeViewItemBehavior.IsBroughtIntoViewWhenSelected" Value="True" />
private void TreeViewItem_RequestBringIntoView(object sender, RequestBringIntoViewEventArgs e)
{
e.Handled = true;
}
Делаю всё как описано в примере.
https://stackoverflow.com/questions/41589389/c-sharp-wpf-errorthe-name-treeviewitembehavior-does-not-exist-in-the-namespac
Но у меня не работает автопрокрутка scroll при выборе Item .
xmlns:localModels="clr-namespace:ChartsDisplayer2016.Core.DataSelector.Models;assembly=ModelAssemblyName"
<Grid >
<TreeView x:Name="tree" >
<TreeView.Resources>
</TreeView.Resources>
<TreeView.ItemContainerStyle>
<Style TargetType="{x:Type TreeViewItem}" >
<Style.Resources>
</Style.Resources>
<Setter Property="IsSelected" Value="{Binding IsSelected, Mode=TwoWay}" />
<Style.Triggers>
<Trigger Property="IsSelected" Value="True" >
<Setter Property="localModels:TreeViewItemBehavior.IsBroughtIntoViewWhenSelected" Value="True" />
TreeViewItemBehavior
public static class TreeViewItemBehavior
{
#region IsBroughtIntoViewWhenSelected
public static bool GetIsBroughtIntoViewWhenSelected(TreeViewItem treeViewItem)
{
return (bool)treeViewItem.GetValue(IsBroughtIntoViewWhenSelectedProperty);
}
public static void SetIsBroughtIntoViewWhenSelected(
TreeViewItem treeViewItem, bool value)
{
treeViewItem.SetValue(IsBroughtIntoViewWhenSelectedProperty, value);
}
public static readonly DependencyProperty IsBroughtIntoViewWhenSelectedProperty =
DependencyProperty.RegisterAttached(
"IsBroughtIntoViewWhenSelected",
typeof(bool),
typeof(TreeViewItemBehavior),
new UIPropertyMetadata(false, OnIsBroughtIntoViewWhenSelectedChanged));
static void OnIsBroughtIntoViewWhenSelectedChanged(
DependencyObject depObj, DependencyPropertyChangedEventArgs e)
{
TreeViewItem item = depObj as TreeViewItem;
if (item == null)
return;
if (e.NewValue is bool == false)
return;
if ((bool)e.NewValue)
item.Selected += OnTreeViewItemSelected;
else
item.Selected -= OnTreeViewItemSelected;
}
static void OnTreeViewItemSelected(object sender, RoutedEventArgs e)
{
// Only react to the Selected event raised by the TreeViewItem
// whose IsSelected property was modified. Ignore all ancestors
// who are merely reporting that a descendant's Selected fired.
if (!Object.ReferenceEquals(sender, e.OriginalSource))
return;
TreeViewItem item = e.OriginalSource as TreeViewItem;
if (item != null)
item.BringIntoView();
e.Handled = true;
}
#endregion // IsBroughtIntoViewWhenSelected
}
Виртуальный выделенный сервер (VDS) становится отличным выбором
Привествую, недавно увидел такой оператор ^=, но так и не нашел что он делает, применялся он к int, знаю что ^ это ислючения, но ^= да еще и для intЧТо...
При создании Table Unit выдаёт Предполагаемый лог UnitTest https://yadisk/d/KnbKKhyEYZq6Hw При этом, если в методе CreateRows будет отсутствовать строка r[i] = new Row(this,...
Воспользовался этим кодом, но он отправляет только однострочные сообщения, что делать?