Hello,
Anyone of you is using raddocking with catel successfully? Want to understand how do you restore view/viewmodels
Hi,
When I change the Alpha value (via slider or textbox) to something other than 100%
the LuminancePad goes black and white. the color return only when the alpha value is 100%.
is there a way to override this behavior?
Attached files to demonstrate.
I cannot attach an example project. but what I did was to create new wpf project. added the RadColorEditor, and changed the active sections to HueSaturationPad,LuminancePad,ColorModesPanel.
Thanks.
I'm using my boss old telerik version, i try to make new View Model in my new solution and i got this error :
SeverityCodeDescriptionProjectFileLineSuppression State
ErrorCS0433The type 'AppointmentDeletedEventArgs' exists in both 'Telerik.Windows.Controls.ScheduleView, Version=2011.2.712.40, Culture=neutral, PublicKeyToken=5803cfa389c90ce7' and 'Telerik.Windows.Controls.Scheduler, Version=2011.2.712.40, Culture=neutral, PublicKeyToken=5803cfa389c90ce7'
In my previous work i dont have any problem but suddenly i got this problem. what happen and how can i fix this?
Hi,
How can i disable this action?
In your ScheduleView sample, i can drop out (in notepad...) of the window application.
I try to override the CanDrop function in ScheduleViewDragDropBehavior with "state" parameter but couldn't do this.
I didn't find hook to fire drop cancel when it happens...
private void FillSampleChartData()
{
XmlSerializer xs = new XmlSerializer(typeof(ObservableCollection<Temporal>));
using (StreamReader wr = new StreamReader("TemporalDataNew.xml"))
{
TemporalData = xs.Deserialize(wr)
as ObservableCollection<Temporal>;
}
DataSeries cs = new DataSeries();
cs.Definition =
new CandleStickSeriesDefinition();
DataSeries ps = new DataSeries();
ps.Definition =
new CandleStickSeriesDefinition();
DataSeries ls = new DataSeries();
ls.Definition =
new LineSeriesDefinition();
CoMorbidityChartData = TemporalData.Where<
Temporal>(f => f.Id == "CoMorbidityChartDetail").ToList<Temporal>();
int count = 1;
foreach (TemporalItem ti in CoMorbidityChartData[0].TemporalItem)
{
DataPoint dpPopulation = new DataPoint();
dpPopulation.XCategory = ti.Id;
dpPopulation.Low =
Convert.ToDouble(ti.Readings[0].Low);
dpPopulation.High =
Convert.ToDouble(ti.Readings[0].High);
dpPopulation.Close =
Convert.ToDouble(ti.Readings[0].Close);
dpPopulation.Open =
Convert.ToDouble(ti.Readings[0].Open);
DataPoint dpLine = new DataPoint();
dpLine.YValue =
Convert.ToDouble(ti.Readings[0].Open);
ls.Add(dpLine);
cs.Add(dpPopulation);
count++;
}
foreach (TemporalItem ti in CoMorbidityChartData[0].TemporalItem)
{
DataPoint dpCriteria = new DataPoint();
dpCriteria.XCategory = ti.Id;
dpCriteria.Low =
Convert.ToDouble(ti.Readings[1].Low);
dpCriteria.High =
Convert.ToDouble(ti.Readings[1].High);
dpCriteria.Close =
Convert.ToDouble(ti.Readings[1].Close);
dpCriteria.Open =
Convert.ToDouble(ti.Readings[1].Open);
ps.Add(dpCriteria);
}
this.RadChart1.DefaultView.ChartArea.DataSeries.Add(cs);
this.RadChart1.DefaultView.ChartArea.DataSeries.Add(ps);
}
I'm working on a solution where I have to drag and appointment from a RadScheduleView to a RadGridView.
At present, I reached to drag from
RadScheduleView to RadGridView but unfortunately the appointment is
removed from the RadScheduleView instead. That not what i want, I just
want to drag a copy of the appointment.
I have search the internet and forums, but i have not found any solutiuons to solve my problem.
Can anyone help?
Thanks
Hi,
We have a regular GridViewSelectColumn as the left-most column in a RadGridView. The users have requested that they want to filter the grid by that column, but when I add IsFilterable="True" to it, nothing happens. No filter icon appears in the header.
Is this not possible or have I just made some mistake here?
Best regards
Mikael Börjesson
I'm experimenting the attribute Telerik.Windows.Controls.Data.PropertyGrid.Editor, and in your example, you show the usage of a RadColorEditor as a cusom editor.
I'm doing the same thing with a control (which currently only shows the color), but the template is not being applied. I have put the style with the template in the Themes\Generic.xaml and still nothing.
If I put an instance of that control on the XAML directory, then I see it.
Here is my View Model:
public class Person : DependencyObject , INotifyPropertyChanged{ public Person() { currentColor = Colors.Red; } private string _firstName = "Sponge"; [Display(Name="First Name", GroupName="Details", Order = 1, Prompt="tttt"), CustomValidation(typeof(Person), "blabla"), Browsable(true)] public string FirstName { get { return _firstName; } set { _firstName = value; } } private string _lastName = "Bob"; [DisplayName("Last Name"), Category("Details"), Browsable(true)] public string LastName { get { return _lastName; } set { _lastName = value; } } private string _blabla; public string Blabla { get { return _blabla; } set { _blabla = value; } } [Telerik.Windows.Controls.Data.PropertyGrid.Editor(typeof(MyEditor), "SelectedColor", Telerik.Windows.Controls.Data.PropertyGrid.EditorStyle.None), Browsable(true)] public Color CurrentColor { get { return this.currentColor; } set { if (this.currentColor != value) { this.currentColor = value; this.OnPropertyChanged("CurrentColor"); } } } public void blabla() { } public Visibility Visibility { get { return (Visibility)GetValue(VisibilityProperty); } set { SetValue(VisibilityProperty, value); } } // Using a DependencyProperty as the backing store for Visibility. This enables animation, styling, binding, etc... public static readonly DependencyProperty VisibilityProperty = DependencyProperty.Register("Visibility", typeof(Visibility), typeof(Person), new UIPropertyMetadata(Visibility.Visible)); private Color currentColor { get; set; } public event PropertyChangedEventHandler PropertyChanged; public void OnPropertyChanged(string propertyName) { if (propertyName != null) { PropertyChanged(this, new PropertyChangedEventArgs(propertyName)); } }}
This is the XAML:
<Window x:Class="TelerikPropertyGrid.MainWindow" xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation" xmlns:myEditors="clr-namespace:MyEditors;assembly=MyEditors" xmlns:local="clr-namespace:TelerikPropertyGrid" Title="MainWindow" Height="350" Width="525"> <Grid> <telerik:RadPropertyGrid x:Name="pg" DescriptionPanelVisibility="Collapsed" Item="{Binding Item}" telerik:StyleManager.Theme="Windows8" AutoGeneratingPropertyDefinition="pg_AutoGeneratingPropertyDefinition" BeginningEdit="pg_BeginningEdit" EditEnded="pg_EditEnded" FieldLoaded="pg_FieldLoaded" Grouped="pg_Grouped" ItemChanged="pg_ItemChanged" SelectionChanged="pg_SelectionChanged" SourceUpdated="pg_SourceUpdated" /> </Grid></Window>
This is the code-behind of that window:
public partial class MainWindow : Window{ private Person _person = new Person(); public MainWindow() { InitializeComponent(); this.DataContext = this; } public Person Item { get { return _person; } } private void pg_AutoGeneratingPropertyDefinition(object sender, Telerik.Windows.Controls.Data.PropertyGrid.AutoGeneratingPropertyDefinitionEventArgs e) { var pd = e.PropertyDefinition; var desc = pd.SourceProperty.Descriptor as PropertyDescriptor; bool canAdd = false; for (int i = 0; i < desc.Attributes.Count; i++) { var att = desc.Attributes[i]; if (att is BrowsableAttribute && (att as BrowsableAttribute).Browsable) { canAdd = true; } } if (!canAdd) e.Cancel = true; if (pd.DisplayName == "First Name") { pd.DisplayName = "First[Name2]"; Binding binding = new Binding("Visibility"); binding.Source = Item; BindingOperations.SetBinding(pd, PropertyDefinition.VisibilityProperty, binding); } } private void pg_BeginningEdit(object sender, Telerik.Windows.Controls.Data.PropertyGrid.PropertyGridBeginningEditEventArgs e) { } private void pg_EditEnded(object sender, Telerik.Windows.Controls.Data.PropertyGrid.PropertyGridEditEndedEventArgs e) { } private void pg_FieldLoaded(object sender, Telerik.Windows.Controls.Data.PropertyGrid.FieldEventArgs e) { } private void pg_Grouped(object sender, Telerik.Windows.RadRoutedEventArgs e) { } private void pg_ItemChanged(object sender, Telerik.Windows.Controls.Data.PropertyGrid.PropertyGridItemChangedEventArgs e) { } private void pg_SelectionChanged(object sender, Telerik.Windows.Controls.SelectionChangeEventArgs e) { } private void pg_SourceUpdated(object sender, DataTransferEventArgs e) { } }
The Editor, MyEditor is located on a different DLL:
MyEditor.cs... the break point of the OnApplyTemplate is never reached:
public class MyEditor : Control{ static MyEditor() { FrameworkElement.DefaultStyleKeyProperty.OverrideMetadata(typeof(MyEditor), new FrameworkPropertyMetadata(typeof(MyEditor))); } public MyEditor() { this.SetValue(FrameworkElement.DefaultStyleKeyProperty, typeof(MyEditor)); } public Color SelectedColor { get { return (Color)GetValue(SelectedColorProperty); } set { SetValue(SelectedColorProperty, value); } } // Using a DependencyProperty as the backing store for SelectedColor. This enables animation, styling, binding, etc... public static readonly DependencyProperty SelectedColorProperty = DependencyProperty.Register("SelectedColor", typeof(Color), typeof(MyEditor), new UIPropertyMetadata(Colors.White, onSelectedColorChanged)); public override void OnApplyTemplate() { base.OnApplyTemplate(); } public static void onSelectedColorChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) { }
// This is the code of the converter
public class ColorToBrushConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
if (value is Color)
{
return new SolidColorBrush((Color)value);
}
return null;
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
throw new NotImplementedException();
}
}
}
Generic.xaml located under the Themes directory
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:local="clr-namespace:MyEditors" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> <local:ColorToBrushConverter x:Key="ctb" /> <Style TargetType="{x:Type local:MyEditor}" x:Key="{x:Type local:MyEditor}"> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="{x:Type local:MyEditor}"> <Border x:Name="border" Background="{TemplateBinding SelectedColor, Converter={StaticResource ctb}}"> </Border> </ControlTemplate> </Setter.Value> </Setter> </Style></ResourceDictionary>
I can do the following code once, when the LayoutUpdated is called for the first time, but it looks dirty, and I'm sure that there are better ways:
Style ts = Application.Current.FindResource(typeof(MyEditor)) as Style;
this.Style = ts;
What am I doing wrong?
What am I missing, and should I do in order to see the editor in the property grid.
Thanks.
Hello, We're trying to implement a custom formatting bar for a radrichtextbox and are having some issues with a specific command.
We are tracking the state of the users selected text by adding eventhandlers to the different commands of the radrichtextbox and all is working well, except in one case: The ChangeListStyleCommand. For some reason it seems as if the "ListStyleChangedChanged"-event is not being called when a user selects a segment of text contained (partially or completely) in a list (including an attached image to show what I mean).
I might have a wrong understanding of how it's supposed to work, but the other commands seem to work in such fashion.
Relevant C# Code:
using System.Windows;using System.Windows.Controls;using Telerik.Windows.Controls;using Telerik.Windows.Documents.Lists;using Telerik.Windows.Documents.Model;using Telerik.Windows.Documents.RichTextBoxCommands;namespace ...{ public partial class DescriptionEditor : UserControl { public DescriptionEditor() { InitializeComponent(); ... InitializeEventsForTextboxes(PublicDescriptionEditor); } ... private void InitializeEventsForTextboxes(params RadRichTextBox[] textboxes) { if (textboxes != null) { foreach (var textbox in textboxes) { ... // This is performed for the specific textbox. // We know this since other commands are working textbox.Commands.ChangeListStyleCommand.ListStyleChangedChanged += ListStyle_Changed; ... } } } private void ListStyle_Changed(object sender, StylePropertyChangedEventArgs<ListStyle> e) { // This never gets called ... } }}Relevant XAML code:
<UserControl x:Class="... DescriptionEditor" xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation" x:Name="PersonDescriptionEditor"> ... <telerik:RadRichTextBoxx:Name="PublicDescriptionEditor"IsSelectionMiniToolBarEnabled="False" Grid.Row="1"/> <telerik:HtmlDataProvider Html="{Binding Path=DataContext, ElementName=PersonDescriptionEditor, Mode=TwoWay}" RichTextBox="{Binding ElementName=PublicDescriptionEditor}"> <telerik:HtmlDataProvider.FormatProvider> <telerik:HtmlFormatProvider> <telerik:HtmlFormatProvider.ExportSettings> <telerik:HtmlExportSettings DocumentExportLevel="Fragment" StylesExportMode="Inline" StyleRepositoryExportMode="DontExportStyles"/> </telerik:HtmlFormatProvider.ExportSettings> </telerik:HtmlFormatProvider> </telerik:HtmlDataProvider.FormatProvider> </telerik:HtmlDataProvider> ...</UserControl>Not really sure what you need to see, but the above code should contain all relevant parts
Hello,
I use IValueConverter to calculate a column value based on other two column values. The problem is that when I edit the cell value and press Enter I get the next gridview row in IValueConverter. Do you know what the problem is? I use the code below on a UserControl.
this.clubsGrid.ItemsSource = EvolucionMercados.GetClubs();
public static IEnumerable<Club> GetClubs() { ObservableCollection<Club> clubs = new ObservableCollection<Club>(); Club club; // Liverpool club = new Club("Liverpool", new DateTime(1892, 1, 1), 45362, 50.99f); club.Players.Add(new Player("Pepe Reina", 25, Position.GK, "Spain")); club.Players.Add(new Player("Jamie Carragher", 23, Position.DF, "England")); club.Players.Add(new Player("Steven Gerrard", 8, Position.MF, "England")); club.Players.Add(new Player("Fernando Torres", 9, Position.FW, "Spain")); clubs.Add(club); // Manchester Utd. club = new Club("Manchester Utd.", new DateTime(1878, 1, 1), 76212, 60.49f); club.Players.Add(new Player("Edwin van der Sar", 1, Position.GK, "Netherlands")); club.Players.Add(new Player("Rio Ferdinand", 5, Position.DF, "England")); club.Players.Add(new Player("Ryan Giggs", 11, Position.MF, "Wales")); club.Players.Add(new Player("Wayne Rooney", 10, Position.FW, "England")); clubs.Add(club); // Chelsea club = new Club("Chelsea", new DateTime(1905, 1, 1), 42055, 70.99f); club.Players.Add(new Player("Petr Čech", 1, Position.GK, "Czech Republic")); club.Players.Add(new Player("John Terry", 26, Position.DF, "England")); club.Players.Add(new Player("Frank Lampard", 8, Position.MF, "England")); club.Players.Add(new Player("Nicolas Anelka", 39, Position.FW, "France")); clubs.Add(club); // Arsenal club = new Club("Arsenal", new DateTime(1886, 1, 1), 60355, 35.19f); club.Players.Add(new Player("Manuel Almunia", 1, Position.GK, "Spain")); club.Players.Add(new Player("Gaël Clichy", 22, Position.DF, "France")); club.Players.Add(new Player("Cesc Fà bregas", 4, Position.MF, "Spain")); club.Players.Add(new Player("Robin van Persie", 11, Position.FW, "Netherlands")); clubs.Add(club); return clubs; }
<telerik:RadGridView Name="clubsGrid" Grid.Row="0" AutoGenerateColumns="False"> <telerik:RadGridView.Columns> <telerik:GridViewDataColumn Header="Name" DataMemberBinding="{Binding Name}"> </telerik:GridViewDataColumn> <telerik:GridViewDataColumn Header="Est." DataMemberBinding="{Binding Established}" DataFormatString="{}{0:yyyy}"> </telerik:GridViewDataColumn> <telerik:GridViewDataColumn Header="Stadium Capacity" DataMemberBinding="{Binding StadiumCapacity}" DataFormatString="{}{0:N0}"> </telerik:GridViewDataColumn> <telerik:GridViewDataColumn Header="Ticket Price" DataMemberBinding="{Binding TicketPrice}" DataFormatString="{}{0:C2}"> </telerik:GridViewDataColumn> <telerik:GridViewDataColumn Header="Sellout Revenue" DataMemberBinding="{Binding Path=., Converter={StaticResource clubToSelloutRevenueConverter}}" DataFormatString="{}{0:C2}"> </telerik:GridViewDataColumn> </telerik:RadGridView.Columns> </telerik:RadGridView>