Hi,
I am using Mutliple selection mode along with RowDetails. And expanded the RowDetails manually using GridViewRow.MouseDoubleClick event. While clicking on DetailsPresenter the selection process is triggered automatically. Is there any option to cancel the selection when clicking on DetailsPresenter?
Thanks,
Antony
Hello,
I have two radlistboxes in my user control.
I need on dragging to hide (make invisible) the item in source radlistbox and keep showing up the dragged item at the same time.
If I make the source item to be invisible, the dragged item is also becomes invisible.
Is there any solution to this issue ?
This is the styles of radlistbox and radlistbox item I use :
<Style x:Key="RadListBoxStyle1" TargetType="{x:Type telerik:RadListBox}">
<Setter Property="telerik:ScrollingSettingsBehavior.IsEnabled" Value="True"/>
<Setter Property="telerik:ScrollingSettingsBehavior.ScrollAreaPadding" Value="30"/>
<Setter Property="telerik:ScrollingSettingsBehavior.ScrollStep" Value="24"/>
<Setter Property="telerik:ScrollingSettingsBehavior.ScrollStepTime" Value="0:0:0.05"/>
<Setter Property="Padding" Value="0"/>
<Setter Property="Background" Value="Transparent"/>
<Setter Property="Foreground" Value="Black"/>
<Setter Property="HorizontalContentAlignment" Value="Left"/>
<Setter Property="VerticalContentAlignment" Value="Top"/>
<Setter Property="ScrollViewer.VerticalScrollBarVisibility" Value="Auto"/>
<Setter Property="ScrollViewer.HorizontalScrollBarVisibility" Value="Auto"/>
<Setter Property="BorderThickness" Value="0"/>
<Setter Property="ScrollViewer.CanContentScroll" Value="True"/>
<Setter Property="KeyboardNavigation.TabNavigation" Value="Once"/>
<Setter Property="BorderBrush" Value="#FF848484"/>
<Setter Property="ItemsPanel">
<Setter.Value>
<ItemsPanelTemplate>
<VirtualizingStackPanel IsItemsHost="True"/>
</ItemsPanelTemplate>
</Setter.Value>
</Setter>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type telerik:RadListBox}">
<Grid>
<ScrollViewer x:Name="PART_ScrollViewer" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" HorizontalScrollBarVisibility="{TemplateBinding ScrollViewer.HorizontalScrollBarVisibility}" IsTabStop="False" Margin="0" Padding="{TemplateBinding Padding}" VerticalScrollBarVisibility="{TemplateBinding ScrollViewer.VerticalScrollBarVisibility}">
<telerik:StyleManager.Theme>
<telerik:Expression_DarkTheme/>
</telerik:StyleManager.Theme>
<ItemsPresenter/>
</ScrollViewer>
<ContentPresenter x:Name="PART_DropVisualPlaceholder" HorizontalAlignment="Stretch" Visibility="Collapsed" VerticalAlignment="Stretch"/>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style x:Key="CustomRadListBoxItemStyle" TargetType="telerik:RadListBoxItem">
<Setter Property="Padding" Value="0" />
<Setter Property="HorizontalContentAlignment" Value="Stretch" />
<Setter Property="VerticalContentAlignment" Value="Top" />
<Setter Property="Background" Value="Transparent" />
<Setter Property="BorderBrush" Value="Transparent" />
<Setter Property="IsSelected" Value="{Binding IsSelected,UpdateSourceTrigger=PropertyChanged,Mode=TwoWay}"/>
<Setter Property="BorderThickness" Value="0" />
<Setter Property="telerik:DragDropManager.AllowDrag" Value="True"/>
<Setter Property="telerik:DragDropManager.AllowCapturedDrag" Value="True"/>
<Setter Property="telerik:DragDropManager.TouchDragTrigger" Value="TapDown"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="telerik:RadListBoxItem">
<Grid>
<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="CommonStates">
<VisualState x:Name="Normal" />
<VisualState x:Name="MouseOver">
<Storyboard>
<DoubleAnimation Duration="0" Storyboard.TargetName="MouseOverVisual" Storyboard.TargetProperty="Opacity" To="1" />
</Storyboard>
</VisualState>
<VisualState x:Name="Disabled">
<Storyboard>
<DoubleAnimation Duration="0" Storyboard.TargetName="contentPresenter" Storyboard.TargetProperty="Opacity" To="0.5" />
</Storyboard>
</VisualState>
</VisualStateGroup>
<VisualStateGroup x:Name="SelectionStates">
<VisualState x:Name="Unselected" />
<VisualState x:Name="Selected">
<Storyboard>
<DoubleAnimation Duration="0" Storyboard.TargetName="SelectedVisual" Storyboard.TargetProperty="Opacity" To="1" />
</Storyboard>
</VisualState>
</VisualStateGroup>
<VisualStateGroup x:Name="FocusStates">
<VisualState x:Name="Focused">
<Storyboard>
<DoubleAnimation Duration="0" To="1" Storyboard.TargetProperty="Opacity" Storyboard.TargetName="FocusVisual" />
</Storyboard>
</VisualState>
<VisualState x:Name="Unfocused" />
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
<!-- normal-->
<Border CornerRadius="{StaticResource ControlOuterBorder_CornerRadius}" Margin="1 0" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" />
<!-- Mouseover -->
<Border x:Name="MouseOverVisual" Opacity="0"
CornerRadius="{StaticResource ControlOuterBorder_CornerRadius}" Margin="1 0"
BorderBrush="{StaticResource ControlOuterBorder_Highlighted}"
BorderThickness="{TemplateBinding BorderThickness}" SnapsToDevicePixels="True">
<Border Background="Transparent" BorderBrush="{StaticResource ControlInnerBorder_Highlighted}" BorderThickness="0" CornerRadius="{StaticResource ControlInnerBorder_CornerRadius}" SnapsToDevicePixels="True" />
</Border>
<!-- Selected -->
<Border x:Name="SelectedVisual" Opacity="0" CornerRadius="{StaticResource ControlOuterBorder_CornerRadius}" Margin="1 0" BorderBrush="{StaticResource ControlSubItem_OuterBorder_Selected}" BorderThickness="{TemplateBinding BorderThickness}" SnapsToDevicePixels="True">
<Border Background="Transparent" BorderBrush="{StaticResource ControlSubItem_InnerBorder_Selected}" BorderThickness="0" CornerRadius="{StaticResource ControlInnerBorder_CornerRadius}" SnapsToDevicePixels="True" />
</Border>
<ContentPresenter x:Name="contentPresenter" Margin="{TemplateBinding Padding}" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}" />
<!-- Focus -->
<Border x:Name="FocusVisual" Opacity="0" Margin="0 0" BorderThickness="0" CornerRadius="{StaticResource ControlOuterBorder_CornerRadius}" BorderBrush="{StaticResource ControlOuterBorder_Focused}" SnapsToDevicePixels="True" />
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
<!--<Style.Triggers>
<DataTrigger Binding="{Binding Path=IsItemEnable}" Value="True">
<Setter Property="Visibility" Value="Visible" />
</DataTrigger>
<DataTrigger Binding="{Binding Path=IsItemEnable}" Value="False">
<Setter Property="Visibility" Value="Hidden" />
</DataTrigger>
</Style.Triggers>-->
</Style>
Thank you,
Alex.S
I would to use the RagDocking control as container of the views of my application as described in you documentation at the page
http://docs.telerik.com/devtools/wpf/controls/raddocking/features/panes/panesource.html .
In my main windows xaml file I added the following lines:
<
telerik:RadDocking
PanesSource
=
"{Binding Views}"
>
<
telerik:RadDocking.DockingPanesFactory
>
<
telerik:DockingPanesFactory
/>
</
telerik:RadDocking.DockingPanesFactory
>
</
telerik:RadDocking
>
In my mainViewModel I added this code to add a new view using this code all works fine:
RadDocumentPane view =
new
RadDocumentPane() { Header =
"Customer"
};
_views.Add(view);
RaisePropertyChanged(() => Views);
Now, I would to define the vews of my application in separated xaml files. I added a new UserControl to my project named view1 and I changed the view1.xaml file in this way
<
telerik:RadDocumentPane
x:Class
=
"MyApp.Views.TestView"
xmlns:telerik
=
"http://schemas.telerik.com/2008/xaml/presentation"
mc:Ignorable
=
"d"
d:DesignHeight
=
"300"
d:DesignWidth
=
"300" Header="Test"
>
<
Grid
>
<
TextBlock
>Test</
TextBlock
>
</
Grid
>
</
telerik:RadDocumentPane
>
and the view1.cs file in this way
namespace
MyApp.Views
{
public
partial
class
TestView : RadDocumentPane
{
public
TestView()
{
InitializeComponent();
}
}
}
Then I changed the code to add a new in this way:
//RadDocumentPane view = new RadDocumentPane() { Header = "Customer" };
TestView view =
new
TestView();
_views.Add(view);
RaisePropertyChanged(() => Views);
With this changes, the new pane is added to the docking view but unfortunately without the header tab.
Is it possible to define de panes in separated xaml file as I done? Or have I to use the RadDocumentPane class and place my view in the Content property of the RadDocumentPane?
Thanks in advance
I have at WPF app with a main window using MVVM and EF.
In the MainView I have RadGridView with a GridViewComboBoxColumn that is bound to a property on my model,
I would like to use it with a Enum when the user want to edit the value.
XAML in MainView
<Window>
<UserControl.DataContext>
<viewModel:MainViewModel/>
</UserControl.DataContext>
<Grid>
<telerik:RadGridView ItemsSource="{Binding MyUserList}">
<telerik:RadGridView.Columns>
<telerik:GridViewDataColumn Header="ID"
DataMemberBinding="{Binding Id}"
IsReadOnly="True" />
<telerik:GridViewComboBoxColumn DataMemberBinding="{Binding UseName}"
ItemsSource="{Binding AvailableUserNameEnum}"
UniqueName="UseTheName"
</telerik:RadGridView.Columns>
</telerik:RadGridView>
</Grid>
</Window>
Code in MainViewmodel
public enumUseNameEnum
{
NA,
No,
Yes
}
public List<UseNameEnum> AvailableUseNameEnum { get; set; }
private void Fill AvailableUseNameEnums()
{
AvailableUseNameEnum = new List<UseNameEnum>
{
UseNameEnum.Yes,
UseNameEnum.No,
UseNameEnum.NA
};
}
Data from the Table
User is hold the this list, that is bound to the grid:
public ObservableCollection<Users> MyUserList { get; set; }
Table User
has 2 Columns: ID and UseName
The Grid
shows data fine, except for the UseName Column, that is blank. When clicked in the combobox , it has data ,
the 3 options, but when one is selected
the values is not showing in the cell. It is still blank.
I have a Main form with a tab control where I am trapping the tab change event in the view model.
<
i:Interaction.Triggers
>
<
i:EventTrigger
EventName
=
"SelectionChanged"
>
<
i:InvokeCommandAction
Command
=
"{Binding TabChanged}"
CommandParameter
=
"{Binding ElementName=TCMain}"
/>
</
i:EventTrigger
>
</
i:Interaction.Triggers
>
Note the element name
In my view model I successfully trap the event for processing relying on the name to identify the tab control
private
void
tabChanged(
object
o)
{
if
(o ==
null
) {
return
; }
if
(o.GetType() ==
typeof
(Telerik.Windows.Controls.RadTabControl))
{
if
((o
as
Telerik.Windows.Controls.RadTabControl).Name !=
"TCMain"
)
{
return
;
}
}
}
One of the main window tab items also has a user control which has a tab control called UCTab, it has no tabchanged event processing.
When I change tabs on the UCTab the event on TCMain fires and the name passed to the event in the view model is the TCMain tab.
Is it possible to isolate the UCTab from the event processing.
(I have solved this by changing the UCTab to a standard MS tab control but it is very unsatisfactory).
I have a sample project to demonstrate the problem if required.
I'm developing a new feature with Schedule View, where i need to add a drag & drop feature and allow merging two appointments if they are dragged over another.
Is it possible to acomplish that? I have an event - OnAppointmentSlotChanged - where I can re-schedule appointments, but how can i know if it is dragged over another appointment?
Thanks for any help that you can give,
Manuel
Hi,
I'm using a simple setup with some items (just some strings) in a RadListBox with drag and drop to another RadListBox. The drag and drops works fine, but it seems like the property ListBoxDragDropBehavior.AllowReorder does not always work. As you can see I have set it to "false", and when dragging items in normal speed it prevents the items from being reordered. But if i drag and drop a bit more aggressively I can actually reorder the items within the same RadListBox. I added a custom implementation of the ListBoxDragDropBehavior with an override of CanDrop, but that method is never called when dragging aggressively.
<
TabItem
Header
=
"DragTest"
>
<
TabItem.Resources
>
<
ResourceDictionary
>
<
Style
TargetType
=
"telerik:RadListBoxItem"
BasedOn
=
"{StaticResource {x:Type telerik:RadListBoxItem}}"
>
<
Setter
Property
=
"telerik:DragDropManager.AllowCapturedDrag"
Value
=
"True"
/>
</
Style
>
</
ResourceDictionary
>
</
TabItem.Resources
>
<
telerik:RadListBox
AllowDrop
=
"True"
ItemsSource
=
"{Binding DragItems1}"
>
<
telerik:RadListBox.DragVisualProvider
>
<
telerik:ScreenshotDragVisualProvider
/>
</
telerik:RadListBox.DragVisualProvider
>
<
telerik:RadListBox.DragDropBehavior
>
<
telerik:ListBoxDragDropBehavior
AllowReorder
=
"False"
/>
</
telerik:RadListBox.DragDropBehavior
>
</
telerik:RadListBox
>
</
TabItem
>
Hi ,
I have a requirement of Infinite paging,
Where I want both previous and next button to get navigate to last and first page respectively.
Navigating to first page on click of Next page button When user is on last page can be achieved by setting IsTotalItemCountFixed = false
But how to have previous page button navigate to the last page When User is on the First page of the Grid ?
Any assistance would be a great help :)