Telerik Forums
UI for WPF Forum
6 answers
200 views

Hello,

I have written a Custom Command Descriptor based on the Telerik demos and documentation that exports the currently loaded document to a local file. Everything appears to be working 100% correct with no errors. However, when I open the file all the pages are blank. The page count is correct, so it appears to be reading the PDFViewer document correctly into the stream, just not writing all of the bytes properly. Here is my code behind for the page that contains the Document Viewer control.

 

using System;
using System.IO;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Input;
using Telerik.Windows.Documents.Fixed.FormatProviders;
using Telerik.Windows.Documents.Fixed.FormatProviders.Pdf;
using Telerik.Windows.Documents.Fixed.Model;
using WeldTrackingWPF.ViewModel;
using Telerik.Windows.Controls;
using Telerik.Windows.Documents.Commands.Descriptors;
using Telerik.Windows.Documents.Commands;
 
namespace WeldTrackingWPF.View
{
    /// <summary>
    /// Interaction logic for ViewQualificationDoc.xaml
    /// </summary>
    public partial class ViewDoc : Page
    {
        public ViewDoc(byte[] fileBytes)
        {
 
            InitializeComponent();
 
            /// <summary>
            ///  Read bytes into memory stream
            ///  Pass stream in RadPdfViewer for viewing
            /// </summary>
 
 
            this.pdfViewer.CommandDescriptors = new CustomCommandDescriptors(this.pdfViewer);
 
            Stream stream = new MemoryStream(fileBytes);
 
            FormatProviderSettings settings = new FormatProviderSettings(ReadingMode.AllAtOnce);
 
            PdfFormatProvider provider = new PdfFormatProvider(stream, settings);
 
            RadFixedDocument doc = provider.Import();
 
            this.pdfViewer.Document = doc;
 
            IconSources.ChangeIconsSet(IconsSet.Modern);
 
 
 
        }
 
        private void Page_Initialized(object sender, EventArgs e)
        {
            var vm = new ViewDocViewModel();
            DataContext = vm;
        }
 
        private void PdfViewer_DocumentLoaded(object sender, EventArgs args)
        {
        }
 
        private void Page_Unloaded(object sender, RoutedEventArgs e)
        {             
        }
 
        private void tbCurrentPage_KeyDown(object sender, KeyEventArgs e)
        {
            TextBox textBox = sender as TextBox;
            if (textBox != null)
            {
                if (e.Key == System.Windows.Input.Key.Enter)
                {
                    textBox.GetBindingExpression(TextBox.TextProperty).UpdateSource();
                }
            }
        }
    }
 
    public class SaveCommand : FixedDocumentViewerCommandBase
    {
        public SaveCommand(FixedDocumentViewerBase fixedDocumentViewerBase)
            : base(fixedDocumentViewerBase)
        {
        }
 
        public override void Execute(object parameter)
        {
            Microsoft.Win32.SaveFileDialog dialog = new Microsoft.Win32.SaveFileDialog();
            dialog.Filter = "PDF files (*.pdf)|*.pdf";
 
            bool? result = dialog.ShowDialog();
 
            if (result.HasValue && result.Value)
            {
 
                using (Stream stream = File.OpenWrite(dialog.FileName))
                {
 
                    PdfFormatProvider provider = new PdfFormatProvider();
                    provider.Export(this.Viewer.Document, stream);
 
                }
            }
        }
    }
 
    public class CustomCommandDescriptors : DefaultCommandDescriptors
    {
        private readonly CommandDescriptor saveCommandDescriptor;
 
        public CommandDescriptor SaveCommandDescriptor
        {
            get
            {
                return this.saveCommandDescriptor;
            }
        }
 
        public CustomCommandDescriptors(FixedDocumentViewerBase fixedDocumentViewer) : base(fixedDocumentViewer)
        {
            this.saveCommandDescriptor = new CommandDescriptor(new SaveCommand(fixedDocumentViewer));
        }
    }
 
}

Any insight as to why these documents are being exported sans page content would be appreciated.

 

Thanks!

Tanya
Telerik team
 answered on 31 Jan 2017
7 answers
265 views
Hello,

I noticed some binding errors in my output window that I could not explain at first:

System.Windows.Data Warning: 40 : BindingExpression path error: 'Title' property not found on 'object' ''String' (HashCode=1191344071)'. BindingExpression:Path=Title; DataItem='String' (HashCode=1191344071); target element is 'ContentPresenter' (Name='Content'); target property is 'ResourceKey' (type 'String')

after some meddling around, I finally found out that what was causing those errors where the viewDefinitions in the ScheduleView object.

it appears that I always have as many binding errors as viewDefinitions, no matter how many viewDefinitions I add to the object. So I'm guessing something is wrong with the way the viewDefinition's Title property is bound in the template. (I add "blank" viewDefinitions, with nothing set, not even the title, and I get this error. NB: the title seems to be displayed correctly, though...)

can you confirm this? or is this something on my side that I have not understood ?
Stefan Nenchev
Telerik team
 answered on 31 Jan 2017
1 answer
130 views
Hi everyone,
we use a collection with dynamic objects which is binded to a RadGridView. 
All colums and rows are shown correctly but unfortunatly the integrated search function (ctrl + f) does not search within attributes which are added dyanmically to the objects.
It works only for attributes which are directly implemented.

Is it a common behaviour of the search function or may be a bug \ missing feature?

Thank you for your help!
Stefan Nenchev
Telerik team
 answered on 31 Jan 2017
1 answer
395 views
Hi my appointments have a active flag and when it's false, I would like the delete button to hide. I was reading that I should edit the schedule view xaml code but my bindings aren't correct. Any ideas?

<telerik:RadButton x:Name="DeleteButton"
            Style="{StaticResource DeleteButtonStyle}"
            Command="{x:Static local:RadScheduleViewCommands.DeleteAppointment}"
            ClickMode="Press"
            CommandParameter="{Binding RelativeSource={RelativeSource TemplatedParent}}"
            Visibility="{Binding Active, Converter={StaticResource BooleanToVisibilityConverter}}"
            IsTabStop="False" />

               
Yana
Telerik team
 answered on 31 Jan 2017
5 answers
284 views
Is there a way to get the calculator picker to display 1.00 instead of just 1?  I want to use it to display money values and 1.00 feels better than just 1.

Dilyan Traykov
Telerik team
 answered on 30 Jan 2017
3 answers
158 views

Hi,

 

I have successfully used the AsyncSqlGeospatialDataReader to read shape data stored in a geometry column in SQL. I first read the geometry objects into a local collection and then assign that collection to the reader

var readerRail = new Telerik.Windows.Controls.Map.SqlGeospatialDataReader();
readerRail.Source = RailShapes;
readerRail.ToolTipFormat = "{SegmentLabel}";
readerRail.GeospatialPropertyName = "ShapeWKT";
readerRail.PreviewReadCompleted += readerRail_PreviewReadCompleted;
 

However, while this has worked on three previous collections on this specific one I get a "Non-static method requires a target" error. It seems as if some of the shape data must then be an issue but I have no idea where to start looking.

 PS: SQL Management studio can query the data and display it

 

Dinko | Tech Support Engineer
Telerik team
 answered on 30 Jan 2017
1 answer
230 views

Hi Team,

I'm just trying to insert a telerik docking Control, but it's not visible in the designer.

Code:

<telerik:RadDocking  MinHeight="70" Margin="2,2,2,2" Height="100" Width="1300" Background="#E5E5E5" Grid.Row="2" Grid.Column="0" Grid.ColumnSpan="2"  >
                        <telerik:RadDocking.DocumentHost>
                            <telerik:RadDockPanel>
                                <telerik:RadPaneGroup>
                                    <telerik:RadPane Header="Docking">
                                        <TextBlock Text="HOIxhskaxhksaj"/>
                                    </telerik:RadPane>
                                </telerik:RadPaneGroup>
                            </telerik:RadDockPanel>
                        </telerik:RadDocking.DocumentHost>
                    </telerik:RadDocking>

Stefan
Telerik team
 answered on 30 Jan 2017
1 answer
106 views

Hi,  I have a wpf application which main area is RadDocking control with DocumentHost and so on.  Actually it is Tab MDI application based on RadDocking.  I would like to drag and drop files to this area of the application from windows explorer. For RadDocking I can handle PreviewDrop event,  but Drop event is not raised.  Feedback event is not raised to (for custom visual cursor).  I tried to work with DragDropManager but got same behavior.  Allow drop is set true for RadDocking control  and qindow as well.  Solutions? 

Thanks, 

Vladimir 

Nasko
Telerik team
 answered on 30 Jan 2017
4 answers
278 views
Hello.
I use the <telerik:ChartPanAndZoomBehavior DragMode="Pan" PanMode="Both" ZoomMode="Both" /> for scaling the RadCartesianChart.
How I can hide the scroll bars?
Martin Ivanov
Telerik team
 answered on 27 Jan 2017
1 answer
140 views

Hi I'm using the RadCartesianChart to plot multiple series of data.

When the data range is small, I receive a divide by zero exception.

01.<telerik:RadCartesianChart Name="GraphSeriesChart" Grid.Row="2" Margin="10" Background="LightGray" >
02. 
03.        <telerik:RadCartesianChart.Behaviors >
04.            <telerik:ChartPanAndZoomBehavior ZoomMode="Both" DragMode="Pan" PanMode="Both" />
05.        </telerik:RadCartesianChart.Behaviors>
06. 
07.        <telerik:RadCartesianChart.HorizontalAxis >
08.            <telerik:DateTimeCategoricalAxis LabelFormat="HH:mm:ss" MajorTickInterval="250" LabelFitMode="MultiLine" />
09.        </telerik:RadCartesianChart.HorizontalAxis>
10. 
11.        <telerik:RadCartesianChart.VerticalAxis >
12.            <telerik:LinearAxis HorizontalLocation="Left" Visibility="Visible" />
13.        </telerik:RadCartesianChart.VerticalAxis>
14. 
15.        <telerik:RadCartesianChart.SeriesProvider >
16.            <telerik:ChartSeriesProvider Source="{Binding TECSeriesSelected}" >
17.                <telerik:ChartSeriesProvider.SeriesDescriptors >
18.                    <telerik:CategoricalSeriesDescriptor ValuePath="Value" CategoryPath="Time" >
19.                    </telerik:CategoricalSeriesDescriptor>
20.                </telerik:ChartSeriesProvider.SeriesDescriptors>
21.            </telerik:ChartSeriesProvider>
22.        </telerik:RadCartesianChart.SeriesProvider>
23. 
24.        <telerik:RadCartesianChart.Grid >
25.            <telerik:CartesianChartGrid MajorLinesVisibility="XY" >
26.                <telerik:CartesianChartGrid.MajorXLineStyle >
27.                    <Style TargetType="Line" >
28.                        <Setter Property="Stroke" Value="Gray" />
29.                    </Style>
30.                </telerik:CartesianChartGrid.MajorXLineStyle>
31.                <telerik:CartesianChartGrid.MajorYLineStyle >
32.                    <Style TargetType="Line" >
33.                        <Setter Property="Stroke" Value="Gray" />
34.                    </Style>
35.                </telerik:CartesianChartGrid.MajorYLineStyle>
36.            </telerik:CartesianChartGrid>
37.        </telerik:RadCartesianChart.Grid>
38.    </telerik:RadCartesianChart>

 

01.TECSeriesSelected.Clear();
02. 
03.TECSeriesSelected.Add(new RadObservableCollection<DataPoint>(new DataPoint[3]));
04.TECSeriesSelected.Add(new RadObservableCollection<DataPoint>(new DataPoint[3]));
05. 
06.TECSeriesSelected[0][0] = new DataPoint();
07.TECSeriesSelected[0][0].Value = 0;
08.TECSeriesSelected[0][0].Time = new DateTime(0);
09. 
10.TECSeriesSelected[0][1] = new DataPoint();
11.TECSeriesSelected[0][1].Value = 0;
12.TECSeriesSelected[0][1].Time = new DateTime(10);
13. 
14.TECSeriesSelected[0][2] = new DataPoint();
15.TECSeriesSelected[0][2].Value = 0;
16.TECSeriesSelected[0][2].Time = new DateTime(20);
17. 
18.TECSeriesSelected[1][0] = new DataPoint();
19.TECSeriesSelected[1][0].Value = 2.75E-28F;
20.TECSeriesSelected[1][0].Time = new DateTime(0);
21. 
22.TECSeriesSelected[1][1] = new DataPoint();
23.TECSeriesSelected[1][1].Value = 2.75E-28F;
24.TECSeriesSelected[1][1].Time = new DateTime(10);
25. 
26.TECSeriesSelected[1][2] = new DataPoint();
27.TECSeriesSelected[1][2].Value = 2.75E-28F;
28.TECSeriesSelected[1][2].Time = new DateTime(20);

Is there a way to fix this issue?

Tanya
Telerik team
 answered on 27 Jan 2017
Narrow your results
Selected tags
Tags
GridView
General Discussions
Chart
RichTextBox
Docking
ScheduleView
ChartView
TreeView
Diagram
Map
ComboBox
TreeListView
Window
RibbonView and RibbonWindow
PropertyGrid
DragAndDrop
TabControl
TileView
Carousel
DataForm
PDFViewer
MaskedInput (Numeric, DateTime, Text, Currency)
AutoCompleteBox
DatePicker
Buttons
ListBox
GanttView
PivotGrid
Spreadsheet
Gauges
NumericUpDown
PanelBar
DateTimePicker
DataFilter
Menu
ContextMenu
TimeLine
Calendar
Installer and Visual Studio Extensions
ImageEditor
BusyIndicator
Expander
Slider
TileList
DataPager
PersistenceFramework
Styling
TimeBar
OutlookBar
TransitionControl
FileDialogs
Book
ToolBar
ColorPicker
TimePicker
MultiColumnComboBox
SyntaxEditor
VirtualGrid
Wizard
ExpressionEditor
NavigationView (Hamburger Menu)
WatermarkTextBox
DesktopAlert
BarCode
SpellChecker
DataServiceDataSource
EntityFrameworkDataSource
RadialMenu
ChartView3D
Data Virtualization
BreadCrumb
LayoutControl
ProgressBar
Sparkline
TabbedWindow
ToolTip
CloudUpload
ColorEditor
TreeMap and PivotMap
EntityFrameworkCoreDataSource (.Net Core)
HeatMap
Chat (Conversational UI)
VirtualizingWrapPanel
Calculator
NotifyIcon
TaskBoard
TimeSpanPicker
BulletGraph
Licensing
WebCam
CardView
DataBar
FilePathPicker
PasswordBox
SplashScreen
Callout
Rating
Accessibility
CollectionNavigator
Localization
AutoSuggestBox
Security
VirtualKeyboard
HighlightTextBlock
TouchManager
StepProgressBar
Badge
OfficeNavigationBar
ExpressionParser
CircularProgressBar
SvgImage
PipsPager
SlideView
AI Coding Assistant
+? more
Top users last month
Boardy
Top achievements
Rank 2
Veteran
Iron
Benjamin
Top achievements
Rank 3
Bronze
Iron
Veteran
ivory
Top achievements
Rank 1
Iron
Iron
Rob
Top achievements
Rank 3
Bronze
Bronze
Iron
ClausDC
Top achievements
Rank 2
Iron
Iron
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Boardy
Top achievements
Rank 2
Veteran
Iron
Benjamin
Top achievements
Rank 3
Bronze
Iron
Veteran
ivory
Top achievements
Rank 1
Iron
Iron
Rob
Top achievements
Rank 3
Bronze
Bronze
Iron
ClausDC
Top achievements
Rank 2
Iron
Iron
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?