Telerik Forums
UI for WPF Forum
0 answers
65 views
Hi,

I need to add a button to my WPF application that is touch enabled.  I'd like to use either a forward or home button that looks like a WinRT / Win8 touch button.  I've applied the Win8 touch theme to my application but I don't know where to go from here.

Teo
Teo
Top achievements
Rank 1
 asked on 04 Dec 2012
2 answers
114 views
Hi everyone,

I've just started testing out the Telerik components for WPF in search of a component bundle to purchase for
our development projects and have started out testing the GridView for WPF. A wonderful piece of work.

However, I have a question. How do I insert an image in a column based on the value of a checkbox that
resides in another column.

I.e, if the checkbox check state on column 0 is true I'd like to insert an image of a green tick icon (which I have as a .png file)
into column 1, etc.

Is there a simple way to achieve this?

I'm coming from Windows Forms development which makes all this XAML stuff a bit new to me so sorry for the newbie question.
Yoan
Telerik team
 answered on 04 Dec 2012
13 answers
420 views
Hello Together,
does anybody know if any print feature in Rad Grids exist. I have to evaluate the controls and couldn't find any Information about that.

Thanx an with best Regards
Jana
Vlad
Telerik team
 answered on 04 Dec 2012
0 answers
66 views
My docking definition contains one RadDocumentPane and several RadPane panes, as shown below.
Then, from UI, I'm switching between two docking pane layouts that contain no information about this RadDocumentPane. Still, it's there when deserialized.

<telerik:RadDocking.DocumentHost>
   <telerik:RadPaneGroup>
      <telerik:RadDocumentPane Visibility="Collapsed" CanFloat="False" CanUserClose="False"
                ContextMenuTemplate="{x:Null}" telerik:RadDocking.SerializationTag="MainPane">


How can I switch between two layouts and change the RadDocumentPane? As it is now, my document pane stays the same when I load different layouts - even though it's not even present in the serialized xml.

UPDATE
Solved it using the xml below. Used the wrong tags in my serialized xml. Sorry :)

<RadDocking>
  <DocumentHost>
    <RadSplitContainer>
      <Items>
        <RadPaneGroup SelectedIndex="0">
          <Items>
            <RadDocumentPane ... />
          </Items>
        </RadPaneGroup>
      </Items>
    </RadSplitContainer>
  </DocumentHost>
  <SplitContainers>
  ...
Kristoffer
Top achievements
Rank 1
 asked on 04 Dec 2012
5 answers
345 views

I tried to work with Demo Example: Grupping - Advanced, but it doesn´t work to me.I did small changes in code, but nothing difficult. The only thing which is working is Enable/disable groupping. When I uncheck a layer, layer is still visible in ScheduleView. Am I doing something wrong in my code?

MainWindow.xaml

<Window x:Class="TestScheduleView.MainWindow"
        Title="MainWindow" Height="500" Width="800"
        xmlns:telerikScheduler="clr-namespace:Telerik.Windows.Controls;assembly=Telerik.Windows.Controls.ScheduleView"
        xmlns:telerikQuickStart="clr-namespace:Telerik.Windows.Controls.QuickStart;assembly=Telerik.Windows.Controls">
    <Window.Resources>
        <SolidColorBrush x:Key="MainBackground" Color="#FF000000" />
        <LinearGradientBrush x:Key="SubHeadingBackground" EndPoint="0.5,1" MappingMode="RelativeToBoundingBox"
                StartPoint="0.5,0">
            <GradientStop Color="#FF4B4B4B" Offset="1" />
            <GradientStop Color="#FF6E6E6E" />
        </LinearGradientBrush>
        <LinearGradientBrush x:Key="SelectionOptionBackground" EndPoint="0.5,1" StartPoint="0.5,0">
            <GradientStop Color="#FF1E1E1E" Offset="0" />
            <GradientStop Color="#FF040404" Offset="1" />
        </LinearGradientBrush>
        <SolidColorBrush x:Key="SelectionOptionBorderBrush" Color="#FF313132" />
        <Style x:Key="SelectionOptionStyle" TargetType="Border">
            <Setter Property="Background" Value="{StaticResource SelectionOptionBackground}" />
            <Setter Property="BorderBrush" Value="{StaticResource SelectionOptionBorderBrush}" />
            <Setter Property="BorderThickness" Value="1 0 1 1" />
            <Setter Property="MinHeight" Value="70" />
        </Style>
    </Window.Resources>
  
    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="32" />
            <RowDefinition Height="*" />
        </Grid.RowDefinitions>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="225" />
            <ColumnDefinition />
        </Grid.ColumnDefinitions>
        <Border Grid.RowSpan="2" Grid.ColumnSpan="2" telerikQuickStart:ThemeAwareBackgroundBehavior.IsEnabled="True" />
  
        <Border Background="#FF212121" Grid.RowSpan="2" />
  
        <Border Background="{StaticResource MainBackground}" Grid.ColumnSpan="2">
            <TextBlock Text="Grouping and Filtering"  FontFamily="Segoe UI"
                    HorizontalAlignment="Left" Foreground="#FFE5E2E2" Margin="13 0 0 0" FontSize="16" TextWrapping="Wrap"
                    VerticalAlignment="Center" />
        </Border>
  
        <StackPanel Grid.Row="1" Orientation="Vertical">
            <Border Background="{StaticResource SubHeadingBackground}" Height="32">
                <TextBlock Text="Select a Layer" TextWrapping="Wrap" FontSize="13" Foreground="#FFEBE9E9"
                        FontFamily="Segoe UI" VerticalAlignment="Center" Margin="13 0 0 0" />
            </Border>
            <Border Background="{StaticResource MainBackground}" Height="32">
                <CheckBox IsChecked="{Binding EnableGrouping}" Content="Enable Grouping"
                         Foreground="#FFA9A9A9" FontWeight="Normal"
                        Margin="13 0 0 0" VerticalAlignment="Center" />
            </Border>
  
            <Border Style="{StaticResource SelectionOptionStyle}" Height="32">
                <StackPanel Orientation="Horizontal" Margin="5">
                    <CheckBox IsChecked="{Binding ShowPresentationLayer}" Content="Fixed" IsEnabled="{Binding EnableGrouping}"
                              Foreground="#FFA9A9A9" VerticalAlignment="Center" Margin="10" Padding="10 0 0 0" />
                </StackPanel>
            </Border>
            <Border Style="{StaticResource SelectionOptionStyle}">
                <StackPanel Orientation="Horizontal" Margin="5">
                    <CheckBox IsChecked="{Binding ShowDataLayer}" Content="PeriodicFixed" IsEnabled="{Binding EnableGrouping}"
                              Foreground="#FFA9A9A9"  VerticalAlignment="Center" Margin="10" Padding="10 0 0 0"/>
                </StackPanel>
            </Border>
            <Border Style="{StaticResource SelectionOptionStyle}">
                <StackPanel Orientation="Horizontal" Margin="5">
                    <CheckBox IsChecked="{Binding ShowBusinessLayer}" Content="Periodical" IsEnabled="{Binding EnableGrouping}"
                              Foreground="#FFA9A9A9"  VerticalAlignment="Center" Margin="10" Padding="10 0 0 0"/>
                </StackPanel>
            </Border>
        </StackPanel>
  
        <telerikScheduler:RadScheduleView Grid.Column="1" Grid.Row="1" 
                                          SnapAppointments="True" 
                                          x:Name="radScheduler"
                AppointmentsSource="{Binding Appointments}" 
                GroupDescriptionsSource="{Binding GroupDescriptions}"
                ActiveViewDefinitionIndex="1">
  
            <telerikScheduler:RadScheduleView.ViewDefinitions>
                <telerikScheduler:DayViewDefinition GroupFilter="{Binding GroupFilter}" Orientation="Horizontal" DayStartTime="12:00:00" />
                <telerikScheduler:WeekViewDefinition GroupFilter="{Binding GroupFilter}" Orientation="Horizontal" DayStartTime="12:00:00" />
                <telerikScheduler:MonthViewDefinition GroupFilter="{Binding GroupFilter}" />
                <telerikScheduler:TimelineViewDefinition GroupFilter="{Binding GroupFilter}" />
            </telerikScheduler:RadScheduleView.ViewDefinitions>
  
  
            <telerikScheduler:RadScheduleView.ResourceTypesSource>
                <telerikScheduler:ResourceTypeCollection>
                    <telerikScheduler:ResourceType Name="Category">
                        <telerikScheduler:Resource ResourceName="Fixed" />
                        <telerikScheduler:Resource ResourceName="PeriodicFixed" />
                        <telerikScheduler:Resource ResourceName="Periodical" />
                    </telerikScheduler:ResourceType>
                </telerikScheduler:ResourceTypeCollection>
            </telerikScheduler:RadScheduleView.ResourceTypesSource>
        </telerikScheduler:RadScheduleView>
    </Grid>
</Window>

MainWindow.xaml.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
  
namespace TestScheduleView
{
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
  
            this.DataContext = new ViewModel();
        }
    }
}

ViewModel.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Telerik.Windows.Controls.ScheduleView;
using Telerik.Windows.Controls;
using System.ComponentModel;
  
namespace TestScheduleView
{
    class ViewModel : ViewModelBase
    {
        private bool showBusinessLayer = true;
        private bool showDataLayer = true;
        private bool showPresentationLayer = true;
        private bool enableGrouping = true;
        private GroupDescriptionCollection groupDescriptions;
        private Func<object, bool> groupFilter;
  
        public bool ShowBusinessLayer
        {
            get
            {
                return this.showBusinessLayer;
            }
            set
            {
                if (this.showBusinessLayer != value)
                {
                    this.showBusinessLayer = value;
                    this.OnPropertyChanged(() => this.ShowBusinessLayer);
                    this.UpdateGroupFilter();
                }
            }
        }
  
        public bool ShowDataLayer
        {
            get
            {
                return this.showDataLayer;
            }
            set
            {
                if (this.showDataLayer != value)
                {
                    this.showDataLayer = value;
                    this.OnPropertyChanged(() => this.ShowDataLayer);
                    this.UpdateGroupFilter();
                }
            }
        }
  
        public bool ShowPresentationLayer
        {
            get
            {
                return this.showPresentationLayer;
            }
            set
            {
                if (this.showPresentationLayer != value)
                {
                    this.showPresentationLayer = value;
                    this.OnPropertyChanged(() => this.ShowPresentationLayer);
                    this.UpdateGroupFilter();
                }
            }
        }
  
        public bool EnableGrouping
        {
            get
            {
                return this.enableGrouping;
            }
            set
            {
                if (this.enableGrouping != value)
                {
                    this.enableGrouping = value;
                    this.OnPropertyChanged(() => this.EnableGrouping);
  
                    this.UpdateGroupDescriptions();
                }
            }
        }
  
        public GroupDescriptionCollection GroupDescriptions
        {
            get
            {
                if (this.groupDescriptions == null)
                {
                    this.groupDescriptions = new GroupDescriptionCollection() { new DateGroupDescription() };
                    this.UpdateGroupDescriptions();
                }
                return this.groupDescriptions;
            }
        }
  
        public Func<object, bool> GroupFilter
        {
            get
            {
                return this.groupFilter;
            }
            private set
            {
                this.groupFilter = value;
                this.OnPropertyChanged(() => this.GroupFilter);
            }
        }
  
        private void UpdateGroupFilter()
        {
            this.GroupFilter = new Func<object, bool>(this.GroupFilterFunc);
        }
  
        private bool GroupFilterFunc(object groupName)
        {
            IResource resource = groupName as IResource;
  
            if (resource == null)
                return true;
  
            IEnumerable<string> enumerable = GetEnabledGroups();
  
            foreach (string str in enumerable)
            {
                if (str.ToLower().Equals(resource.ResourceName.ToLower()))
                    return true;
            }
  
            return false;
        }
  
        private ObservableAppointmentCollection appointments;
        public ObservableAppointmentCollection Appointments
        {
            get
            {
                return this.appointments;
            }
            set
            {
                this.appointments = value;
            }
        }
  
        public ViewModel()
        {
            appointments = new ObservableAppointmentCollection();
  
            Appointment appointment = new Appointment();
            appointment.Start = DateTime.Now;
            appointment.End = DateTime.Now.AddHours(1);
            appointment.Subject = "New appointment";
            Resource r = new Resource();
            r.ResourceName = "Periodical";
            r.ResourceType = "Category"; 
            appointment.Resources.Add(r);
            Appointments.Add(appointment); 
        }
  
        private IEnumerable<string> GetEnabledGroups()
        {
            List<string> enabledGroups = new List<string>();
  
            if (this.ShowPresentationLayer) enabledGroups.Add("Fixed");
            if (this.ShowDataLayer) enabledGroups.Add("PeriodicFixed");
            if (this.ShowBusinessLayer) enabledGroups.Add("Periodical");
  
            return enabledGroups;
        }
  
        private void UpdateGroupDescriptions()
        {
            if (this.EnableGrouping)
            {
                ResourceGroupDescription groupDescription = new ResourceGroupDescription();
                groupDescription.ResourceType = "Category";
                this.GroupDescriptions.Add(groupDescription);
            }
            else
            {
                this.GroupDescriptions.RemoveAll((GroupDescription g) => g is ResourceGroupDescription);
            }
        }
    }
}

Paolo
Top achievements
Rank 1
 answered on 04 Dec 2012
1 answer
95 views
Hi,

I am using a RadGridView control and I assign a List to ItemsSource propriety.
Now I want to modify the color of the cells of one column, depending on it content. So, if in a cell content is "X" I want to color with red, if it is "Y" I want to color with blue, ... (please see attachment)

Thanks
Vlad
Telerik team
 answered on 04 Dec 2012
1 answer
143 views
Hi,

I have a RadDataPager which shows in order to page a RadGridView content.
The PageSize is fixed, but I would like that it changes depending on height of a RadGridView, i.e., depending of screen resolution. The height for RadGridView is defined as "Auto", so I would like that the number of items that I have in each page is the maximum number of items that can feet without it has a scroll.

Any idea?

Rossen Hristov
Telerik team
 answered on 04 Dec 2012
2 answers
186 views
hi, what's the property to hide the grid on the diagram?

thanks!
Fabrizio
Top achievements
Rank 1
 answered on 04 Dec 2012
3 answers
252 views
Hi, was was wondering if it was possible to have a chart with a linear axis for both the x and y axis that behaves like the bar chart in that each value is drawn as a bar/line from the axis to the value?  The scatter point chart is the closest in behaviour to what I want, but instead of a single point, I need a line from the axis.

regards,
Eamon
Missing User
 answered on 04 Dec 2012
6 answers
1.2K+ views
Hi,

I have a TreeView with a ContextMenu associated with it. When the context menu pops pup I need to know what is the item under the mouse pointer. However, when I check the "SelectedItem" property, it is not the item which is under the mouse pointer. I'm thinking about a way to make the item selected when right-click is used. Currently it is being selected only when a left-click is performed.

Thank you,
Ruben
Pavel R. Pavlov
Telerik team
 answered on 04 Dec 2012
Narrow your results
Selected tags
Tags
+? more
Top users last month
Jay
Top achievements
Rank 3
Iron
Iron
Iron
Benjamin
Top achievements
Rank 3
Bronze
Iron
Veteran
Radek
Top achievements
Rank 2
Iron
Iron
Iron
Bohdan
Top achievements
Rank 2
Iron
Iron
Richard
Top achievements
Rank 4
Bronze
Bronze
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Jay
Top achievements
Rank 3
Iron
Iron
Iron
Benjamin
Top achievements
Rank 3
Bronze
Iron
Veteran
Radek
Top achievements
Rank 2
Iron
Iron
Iron
Bohdan
Top achievements
Rank 2
Iron
Iron
Richard
Top achievements
Rank 4
Bronze
Bronze
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?