Hi,
I want to highlight the row on dragover where I am dropping an item from the grid. I have two different gridviews. I drag a row from one grid and drop on to other grid row,
I have written following code for Highlighting a gridviewrow on a Item dragover,
public T4ShipmentSchedulerView(IT4ShipmentSchedulerViewModel viewModel)
{
InitializeComponent();
StyleManager.SetTheme(ShipmentGrid, new OWBTheme());
DataContext = viewModel;
viewModel.GridOperations = new TelerikGridOperations(ShipmentGrid, Constants.T4ShipmentBuilderGridSettings);
//ShipmentGrid.RowLoaded += ShipmentGrid_RowLoaded;
}
private void ShipmentGrid_RowLoaded(object sender, RowLoadedEventArgs e)
{
GridViewRow row = e.Row as GridViewRow;
if (row == null) return;
DragDropManager.RemoveDragEnterHandler(row, OnRowDragOver);
DragDropManager.AddDragEnterHandler(row, OnRowDragOver);
DragDropManager.RemoveDragLeaveHandler(row, OnRowDragLeave);
DragDropManager.AddDragLeaveHandler(row, OnRowDragLeave);
DragDropManager.RemovePreviewDropHandler(row, OnPreviewDropLeave);
DragDropManager.AddPreviewDropHandler(row, OnPreviewDropLeave);
}
private void OnPreviewDropLeave(object sender, DragEventArgs e)
{
OnRowDragLeave(sender, e);
}
private void OnRowDragLeave(object sender, DragEventArgs e)
{
GridViewRow row = sender as GridViewRow;
if (row != null)
{
row.Background = _backGround;
row.Foreground = _foreGround;
}
}
Brush _backGround;
Brush _foreGround ;
private void OnRowDragOver(object sender, DragEventArgs e)
{
GridViewRow row = sender as GridViewRow;
if (row != null)
{
_backGround = row.Background;
_foreGround = row.Foreground;
row.Background = new SolidColorBrush(Colors.Gold);
row.Foreground = new SolidColorBrush(Colors.Black);
}
}
It highlights the row on drag over but it messes with other trigger styles and they stop working. Do we have more proper soln on this.
Regards,
Vidyadhar

Hi,
I'm working on an Managed Addin Framework (MAF) based application in which the RibbonView is returned from the AddIn's appdomain to the AddIn-Host appdomain. The issue I'm facing is that when the RibbonView is converted to and from FrameworkElement/INativeHandleContract, it loses most of the functionality. On the host side, collapsing RibbonView doesn't properly resize. The ribbon view collapsed but some other control is taking the place and the controls below that do not get resized to occupy the whole space. I want the controls which are below the ribbon to occupy the space, as shown in the images attached.
The issue can be reproduced easily by following code sample:
RadRibbonView ribbon = new RadRibbonView();
ribbon.MinimizeButtonVisibility = Visibility.Visible;
ribbon.MinimizedChanged += Ribbon_MinimizedChanged;
var tab = new RadRibbonTab();
tab.Header = "Tab 01";
var group = new RadRibbonGroup();
group.Header = "Group 01";
var command = new RadRibbonButton();
command.Text = "Hello";
group.Items.Add(command);
tab.Items.Add(group);
ribbon.Items.Add(tab);
var contract = FrameworkElementAdapters.ViewToContractAdapter(ribbon);
var control = FrameworkElementAdapters.ContractToViewAdapter(contract);
presenter.Content = control;
And here is the sample xaml:
<Grid
x:Name="RootGrid"
Background="Azure"
ShowGridLines="True">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<ContentPresenter x:Name="presenter" />
</Grid>
Hello together,
I have previously a long peace of code to make a listview bound to a Datasource with all calendar weeks in a range. On Click on first level a listview was loaded under the clicked week with all dates in this week. The color of each week or day was based on the 'Farbe'. A calculated property based on plan and reality.
If the day was completely set to 0 plan, it was disabled, so it could'nt be cklicked anymore.
I now wanted to achieve the same, maybe simplier with a PanelBar. But I have to problem, I don't get the color and disable to work.
I have seta hierarchical dataTemplate as Itemtemplate and of course set the Itemsource in Code behind.
The Problem is, if I set the color of a Stackpanel or something else in the Template the color not affects the background of the expander and everything else.
I tried to set a PanelBarItem as Template but there I have a visual and clickable second object in my normal Item, plus the background not affects anything.
I then a project where someone set ItemCOntainerStyle and ItemStyle, but if I do this my whole PanelBar is empty.
Here is my old listview:
<ListView
Grid.Column="0"
Grid.Row="1"
Name="lvWochen"
Background="{DynamicResource MaterialDesignPaper}"
IsSynchronizedWithCurrentItem="True"
SelectedValuePath="KWJahr"
BorderThickness="0"
>
<ListView.ItemContainerStyle>
<Style
TargetType="ListViewItem"
>
<Setter
Property="Background"
Value="Transparent"
/>
<Setter
Property="Margin"
Value="5 2 5 2"
/>
<Setter
Property="Template"
>
<Setter.Value>
<ControlTemplate
TargetType="ListViewItem"
>
<materialDesign:Card
Foreground="{DynamicResource MaterialDesignBody}"
Margin="2,5,2,0"
MouseDown="lvWochen_MouseDown"
>
<materialDesign:Card.Style>
<Style
BasedOn="{StaticResource CardCustom}"
TargetType="{x:Type materialDesign:Card}"
>
</Style>
</materialDesign:Card.Style>
<materialDesign:Card.Background>
<Binding
Path="Farbe"
/>
</materialDesign:Card.Background>
<Border
BorderThickness="2"
BorderBrush="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=DataContext.BorderColor}"
>
<StackPanel
Margin="3,3,3,3"
>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="100*"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<Grid
Grid.Column="0"
>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="40*"/>
<ColumnDefinition Width="60*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<TextBlock
Grid.Column="0"
Grid.Row="0"
FontSize="{StaticResource Body}"
FontWeight="Medium"
>
<TextBlock.Text>
<MultiBinding
StringFormat="{}KW {0} Jahr {1}"
>
<Binding
Path="KW"
/>
<Binding
Path="Jahr"
/>
</MultiBinding>
</TextBlock.Text>
</TextBlock>
<TextBlock
Grid.Column="0"
Grid.Row="1"
FontSize="{StaticResource Caption}"
FontWeight="Regular"
>
<TextBlock.Text>
<MultiBinding
StringFormat="{}{0:dd.MM.yy} - {1:dd.MM.yy}"
>
<Binding
Path="MinDatum"
/>
<Binding
Path="MaxDatum"
/>
</MultiBinding>
</TextBlock.Text>
</TextBlock>
<Grid
Grid.Column="1"
Grid.Row="1"
>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="50*"/>
<ColumnDefinition Width="50*"/>
</Grid.ColumnDefinitions>
<TextBlock
Grid.Column="0"
FontSize="{StaticResource Body}"
FontWeight="Regular"
Visibility="{Binding Path=AufwandEMVisibility}"
HorizontalAlignment="Left"
Margin="5,0,0,0"
>
<TextBlock.Text>
<MultiBinding
StringFormat="{}Aufwand EM: {0:#,0}"
>
<Binding
Path="AufwandEM"
/>
</MultiBinding>
</TextBlock.Text>
</TextBlock>
<TextBlock
Grid.Column="1"
FontSize="{StaticResource Body}"
FontWeight="Regular"
Visibility="{Binding Path=AufwandEMVisibility}"
HorizontalAlignment="Left"
Margin="5,0,0,0"
>
<TextBlock.Text>
<MultiBinding
StringFormat="{}Einzelteile: {0}"
>
<Binding
Path="Einzelteile"
/>
</MultiBinding>
</TextBlock.Text>
</TextBlock>
</Grid>
<Grid
Grid.Column="1"
Grid.Row="0"
>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="50*"/>
<ColumnDefinition Width="50*"/>
</Grid.ColumnDefinitions>
<TextBlock
Grid.Column="0"
Text="{Binding Path=PlanZellen, StringFormat={}Planzellen: {0}}"
FontSize="{StaticResource Body}"
FontWeight="Medium"
HorizontalAlignment="Left"
Margin="5,0,0,0"
>
</TextBlock>
<TextBlock
Grid.Column="1"
FontSize="{StaticResource Body}"
FontWeight="Medium"
HorizontalAlignment="Left"
Margin="5,0,0,0"
>
<TextBlock.Text>
<MultiBinding
StringFormat="{}{0}: {1}"
>
<Binding
Path="ZellenArt"
/>
<Binding
Path="Zellen"
/>
</MultiBinding>
</TextBlock.Text>
</TextBlock>
</Grid>
<Grid
Grid.Row="2"
Grid.Column="0"
Grid.ColumnSpan="2"
Margin="5,0,0,0"
>
<TextBlock
Grid.Column="0"
Text="{Binding Path=Einträge, StringFormat={}Einträge: {0}}"
FontSize="{StaticResource Caption}"
FontWeight="Regular"
HorizontalAlignment="Center"
>
</TextBlock>
</Grid>
</Grid>
<materialDesign:PackIcon
Grid.Column="2"
Kind="CheckAll"
Visibility="{Binding Path=FertigAVVisibility}"
VerticalAlignment="Center"
Foreground="#1B5E20"
/>
<ToggleButton
Grid.Column="1"
VerticalAlignment="Center"
Style="{StaticResource MaterialDesignActionToggleButton}"
Background="Transparent"
Click="ToggleButton_Click"
IsChecked="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=DataContext.IsExpanded, Mode=OneWay}"
>
<ToggleButton.Content>
<materialDesign:PackIcon
Kind="ChevronDown"
/>
</ToggleButton.Content>
<materialDesign:ToggleButtonAssist.OnContent>
<materialDesign:PackIcon
Kind="ChevronUp"
/>
</materialDesign:ToggleButtonAssist.OnContent>
</ToggleButton>
</Grid>
<ListView
Name="lvTage"
Background="Transparent"
IsSynchronizedWithCurrentItem="True"
SelectedValuePath="DatumD"
BorderThickness="0"
PreviewMouseWheel="lvTage_PreviewMouseWheel"
ItemsSource="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=DataContext.TageDatas}"
Visibility="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=DataContext.TagVisible}"
>
<ListView.ItemContainerStyle>
<Style
TargetType="ListViewItem"
>
<Setter Property="LayoutTransform">
<Setter.Value>
<ScaleTransform x:Name="transform" />
</Setter.Value>
</Setter>
<Setter
Property="Background"
Value="Transparent"
/>
<Setter
Property="Margin"
Value="5 2 5 2"
/>
<Setter
Property="Template"
>
<Setter.Value>
<ControlTemplate
TargetType="ListViewItem"
>
<materialDesign:Card
Foreground="{DynamicResource MaterialDesignBody}"
Margin="2,5,2,0"
PreviewMouseLeftButtonDown="lvTage_MouseDown"
IsEnabled="{Binding Path=Aktiviert}"
>
<ig:DragDropManager.DropTarget>
<ig:DropTarget IsDropTarget="True"/>
</ig:DragDropManager.DropTarget>
<materialDesign:Card.Style>
<Style
BasedOn="{StaticResource CardCustom}"
TargetType="{x:Type materialDesign:Card}"
>
</Style>
</materialDesign:Card.Style>
<materialDesign:Card.Background>
<Binding
Path="Farbe"
/>
</materialDesign:Card.Background>
<Border
BorderThickness="2"
BorderBrush="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=DataContext.BorderColor}"
>
<StackPanel
Margin="3,3,3,3"
>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="30*"/>
<ColumnDefinition Width="70*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<TextBlock
Grid.Column="0"
Grid.Row="0"
FontWeight="Medium"
FontSize="{StaticResource Body}"
Text="{Binding Path=DatumD, StringFormat={}{0:dd.MM.yyyy}}"
/>
<Grid
Grid.Column="1"
Grid.Row="1"
>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="50*"/>
<ColumnDefinition Width="50*"/>
</Grid.ColumnDefinitions>
<TextBlock
Grid.Column="0"
FontSize="{StaticResource Body}"
FontWeight="Regular"
Visibility="{Binding Path=AufwandEMVisibility}"
HorizontalAlignment="Left"
Margin="5,0,0,0"
>
<TextBlock.Text>
<MultiBinding
StringFormat="{}Aufwand EM: {0:#,0}"
>
<Binding
Path="AufwandEM"
/>
</MultiBinding>
</TextBlock.Text>
</TextBlock>
<TextBlock
Grid.Column="1"
FontSize="{StaticResource Body}"
FontWeight="Regular"
Visibility="{Binding Path=AufwandEMVisibility}"
HorizontalAlignment="Left"
Margin="5,0,0,0"
>
<TextBlock.Text>
<MultiBinding
StringFormat="{}Einzelteile: {0}"
>
<Binding
Path="Einzelteile"
/>
</MultiBinding>
</TextBlock.Text>
</TextBlock>
</Grid>
<Grid
Grid.Column="1"
Grid.Row="0"
>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="50*"/>
<ColumnDefinition Width="50*"/>
</Grid.ColumnDefinitions>
<TextBlock
Name="expanderTag"
Grid.Column="0"
Text="{Binding Path=PlanZellen, StringFormat={}Planzellen: {0}}"
FontSize="{StaticResource Body}"
FontWeight="Medium"
HorizontalAlignment="Left"
Margin="5,0,0,0"
>
</TextBlock>
<TextBlock
Grid.Column="1"
FontSize="{StaticResource Body}"
FontWeight="Medium"
HorizontalAlignment="Left"
Margin="5,0,0,0"
>
<TextBlock.Text>
<MultiBinding
StringFormat="{}{0}: {1}"
>
<Binding
Path="ZellenArt"
/>
<Binding
Path="Zellen"
/>
</MultiBinding>
</TextBlock.Text>
</TextBlock>
</Grid>
<Grid
Grid.Row="2"
Grid.Column="0"
Grid.ColumnSpan="2"
Margin="5,0,0,0"
>
<TextBlock
Grid.Column="0"
Text="{Binding Path=Einträge, StringFormat={}Einträge: {0}}"
FontSize="{StaticResource Caption}"
FontWeight="Regular"
HorizontalAlignment="Center"
>
</TextBlock>
</Grid>
<Grid
Grid.Column="2"
Grid.Row="0"
Grid.RowSpan="4"
>
<materialDesign:PackIcon
Kind="CheckAll"
Visibility="{Binding Path=FertigAVVisibility}"
VerticalAlignment="Center"
Foreground="#1B5E20"
/>
</Grid>
</Grid>
</StackPanel>
</Border>
</materialDesign:Card>
</ControlTemplate>
</Setter.Value>
</Setter>
<Style.Triggers>
<DataTrigger Binding="{Binding RelativeSource={x:Static RelativeSource.Self}, Path=IsVisible}"
Value="True">
<DataTrigger.EnterActions>
<BeginStoryboard>
<Storyboard>
<DoubleAnimation Storyboard.TargetProperty="Opacity" From="0" To="1" Duration="0:0:0.5"/>
<DoubleAnimation Storyboard.TargetProperty="LayoutTransform.ScaleY" From="0" Duration="0:0:0.3"/>
</Storyboard>
</BeginStoryboard>
</DataTrigger.EnterActions>
</DataTrigger>
</Style.Triggers>
</Style>
</ListView.ItemContainerStyle>
</ListView>
</StackPanel>
</Border>
</materialDesign:Card>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</ListView.ItemContainerStyle>
</ListView>
I hope someone has an idea.
Greetings Benedikt
Hi,
I have a program that imitates a physical sheet of paper, with an area that the user can input information. For the input area I'm using a RichTextBox, so the user can paste images, format etc. However, as the page is to be printed on a single piece of paper I want to limit the amount the user can enter. I've disabled the scrollbars so the user cannot scroll up and down, but they can still keep typing as if the document was infinite and the text just disappears. Is there any way to limit the input to only the visible area?

Hi,
I have a dashboard with 3 RadCartesianCharts (2 bar charts, 1 line chart) all based on date values for category bindings and numeric values for value bindings.
Both the date values and the value values can vary considerably depending on filters set, so I set up value converters to dynamically adjust the axis labels and tooltips accordingly.
I was successful with all the horizontal axis and tooltips, but not with the y-axis values.
My goal is to adjust the y-axis values based on the size of the values, i.e. thousands vs millions vs billions. I use the following code to properly format the tooltips:
double measureValue = double.Parse(value.ToString());
if (measureValue > 999999999 || measureValue < -999999999)
{
formatString = "0,,,.###B";
}
else if (measureValue > 999999 || measureValue < -999999)
{
formatString = "0,,.##M";
}

Our customer is using our application (using RadMap) with a custom tiled data source to a remote map data source across a very slow network. Can you tell me:
1. What timeout is used for web requests to the map data source? (I believe the default timeout for WebRequest is 100 seconds)
2. Is it possible to change the timeout on the web requests for tiles?
3. What happens if a tile request times-out? Our customer suspects that the Telerik code is caching the timed-out tile response - is that true?
We are currently using Telerik v2019.1.116.45
Thanks
Pete
Hi together,
I have previously used the following lines to get the MaskedTextInput to wrapp the text.
I have no installed the last update (R3) and now it says: "The object reference is not declared onto a object instance."
The code still works but in the designer it marks it as wrong and doesn't update the preview anymore.
If I let the BasedOn apart it shows everything as it should bot the code not works anymore as it should. So the MaskedInput is empty and I can't click it anymore.
Without Wrapping the too long lines, well, are too long.
<telerik:RadMaskedTextInput.TextBoxStyle>
<Style TargetType="maskedInput:PreviewInputTextBox" BasedOn="{StaticResource MaskedInputTextBoxStyle}">
<Setter Property="TextWrapping" Value="Wrap" />
<Setter Property="AcceptsReturn" Value="True" />
</Style>
</telerik:RadMaskedTextInput.TextBoxStyle>
Greetings,
Benedikt