Is that going to work if I want the text content to dictate the height of the 
textblock? I would need to know the actualheight to be able to set the bottom 
thickness.

Regards,
Colin Savage

-----Original Message-----
From: [email protected] 
[mailto:[email protected]] On Behalf Of Scott Barnes
Sent: Thursday, 16 September 2010 10:14 AM
To: ozSilverlight
Subject: Re: Textblock SizeChanged

Not really, you can achieve the same effects almost at times with
margin properties (thickness) vs left/top positioning.. its possible..


Regards,

Scott Barnes

http://www.riagenic.com



On Thu, Sep 16, 2010 at 9:36 AM, Colin Savage <[email protected]> wrote:
> I think I'm stuck with canvas due to the arbitrary positioning, thanks for 
> the all info.
>
> Regards,
> Colin Savage
>
> -----Original Message-----
> From: [email protected] 
> [mailto:[email protected]] On Behalf Of Peter Blois
> Sent: Thursday, 16 September 2010 3:44 AM
> To: ozSilverlight
> Subject: RE: Textblock SizeChanged
>
> Canvas is actually a bit special and 'shortcuts' some of the layout routines 
> that happen with every other panel. It's confusing and I've opened bugs on 
> this in the past (caused us quite a bit of grief when we were implementing 
> custom shapes in Blend), but the code is the way it is to maintain a very 
> high level of performance for this specific layout control.
>
> Alternatively Grid rather than Canvas should work for you. If you really are 
> doing a fully custom positioning and sizing that you may want that raw 
> performance that comes from Canvas, for many cases I don't see a need to go 
> this far though.
>
> -----Original Message-----
> From: [email protected] 
> [mailto:[email protected]] On Behalf Of Scott Barnes
> Sent: Wednesday, September 15, 2010 1:35 AM
> To: ozSilverlight
> Subject: Re: Textblock SizeChanged
>
> Well u could change the size of he font and then invalidate the textblock 
> which should trigger sizechanged event but it's a lil ghetto ;)
>
> --
> Sent from my mini iPad nano
> (excuse my spilling and grammar as I have giant man like fingers and this 
> device as small keys)
>
> On 15/09/2010, at 5:08 PM, Colin Savage <[email protected]> wrote:
>
>> The app is a WYSIWYG layout for arranging textblocks and barcodes and things 
>> to print on a label, so I want to avoid adding content that is not going to 
>> be printed to the xaml. Since the changing of the font size is initiated by 
>> the user, I can access the ActualHeight after that and update the rest of 
>> the UI manually.
>>
>> It seems that the event only fires if it has in some way changed the layout 
>> of the container, but that is contrary to what the doco says.
>>
>> http://msdn.microsoft.com/en-us/library/system.windows.frameworkelemen
>> t.sizechanged(VS.95).aspx "SizeChanged is raised whenever the size
>> (either ActualHeight or ActualWidth) has changed on the object, and is 
>> raised after the Measure and Arrange passes are complete (for more 
>> information about these concepts, see Silverlight Layout System). If the 
>> position of the object within a parent container changes, but not the size, 
>> SizeChanged is not raised. "
>>
>> In this case the ActualHeight has changed, but it doesn't fire. I'll find a 
>> workaround for it, I was just wondering if anyone knew the reason.
>>
>> Regards,
>> Colin Savage
>>
>> -----Original Message-----
>> From: [email protected]
>> [mailto:[email protected]] On Behalf Of Scott
>> Barnes
>> Sent: Wednesday, 15 September 2010 4:10 PM
>> To: ozSilverlight
>> Subject: Re: Textblock SizeChanged
>>
>> Steve's correct, Canvas doesn't really care how wide/high its children
>> are in regards to itself. Encapsulating the TextBlock inside a border
>> and using that as your Source of Truth should get you the results you
>> desire, but yeah you have a ghetto border now :)
>>
>> Not sure why FontSize doesn't trigger SizeChanged though? in theory
>> the ActualWidth/ActualHeight should still trigger this event but given
>> FontSize may act differently to other FrameworkElements given it uses
>> glyphs etc.
>>
>>
>>
>> Regards,
>>
>> Scott Barnes
>>
>> http://www.riagenic.com
>>
>>
>>
>> On Wed, Sep 15, 2010 at 3:46 PM, Stephen Price <[email protected]> 
>> wrote:
>>> Without trying anything in code, I'd be guessing that putting the
>>> textblock onto/into the canvas makes it behave differently than when
>>> its in the border. I've seen quite a lot of sizing things behave
>>> differently depending upon the parent container.
>>>
>>> Have you tried it in a grid instead of a canvas? It might work
>>> (guessing, have not tried it out)
>>>
>>> On Wed, Sep 15, 2010 at 11:23 AM, Colin Savage <[email protected]> 
>>> wrote:
>>>> Before this list turns entirely into an ausdotnet trollfest, how
>>>> about a Silverlight question?
>>>>
>>>>
>>>>
>>>> Does anyone know why a textblock is not firing SizeChanged event
>>>> when the fontsize changes?
>>>>
>>>>
>>>>
>>>> Example:
>>>>
>>>> <Grid x:Name="LayoutRoot" Background="White">
>>>>
>>>>         <StackPanel>
>>>>
>>>>         <Button Content="Resize"
>>>>
>>>>                 Name="button1"
>>>>
>>>>                 Click="button1_Click" />
>>>>
>>>>         <TextBlock Name="result"
>>>>
>>>>                    Text="Size goes here"/>
>>>>
>>>>         <TextBlock Name="actual"
>>>>
>>>>                    Text="Actual goes here" />
>>>>
>>>>         </StackPanel>
>>>>
>>>>         <Canvas Height="200"
>>>>
>>>>                 HorizontalAlignment="Left"
>>>>
>>>>                 Margin="57,92,0,0"
>>>>
>>>>                 Name="canvas1"
>>>>
>>>>                 VerticalAlignment="Top"
>>>>
>>>>                 Width="311">
>>>>
>>>>             <!--<Border  Canvas.Top="10"
>>>>
>>>>                      Canvas.Left="10"
>>>>
>>>>                      BorderBrush="Green" BorderThickness="1">-->
>>>>
>>>>             <TextBlock Canvas.Top="10"
>>>>
>>>>                 Canvas.Left="10"
>>>>
>>>>                 Name="textblock1"
>>>>
>>>>                        Width="180"
>>>>
>>>>                         Text="Some Text" />
>>>>
>>>>             <!--</Border>-->
>>>>
>>>>         </Canvas>
>>>>
>>>>     </Grid>
>>>>
>>>>
>>>>
>>>>     public partial class MainPage : UserControl
>>>>
>>>>     {
>>>>
>>>>         public MainPage()
>>>>
>>>>         {
>>>>
>>>>             InitializeComponent();
>>>>
>>>>
>>>>
>>>>             textblock1.SizeChanged += textblock1_SizeChanged;
>>>>
>>>>         }
>>>>
>>>>
>>>>
>>>>         void textblock1_SizeChanged(object sender,
>>>> SizeChangedEventArgs e)
>>>>
>>>>         {
>>>>
>>>>             result.Text = e.NewSize.ToString();
>>>>
>>>>         }
>>>>
>>>>
>>>>
>>>>         private void button1_Click(object sender, RoutedEventArgs e)
>>>>
>>>>         {
>>>>
>>>>             textblock1.FontSize += 1;
>>>>
>>>>
>>>>
>>>>             actual.Text = textblock1.ActualHeight.ToString();
>>>>
>>>>         }
>>>>
>>>>     }
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> Note that if I increase the fontsize, the ActualHeight changes,  but
>>>> the SizeChanged event doesn't. Uncomment the border around the
>>>> textblock and it does start firing.
>>>>
>>>>
>>>>
>>>> Regards,
>>>>
>>>> Colin Savage
>>>>
>>>> _______________________________________________
>>>> ozsilverlight mailing list
>>>> [email protected]
>>>> http://prdlxvm0001.codify.net/mailman/listinfo/ozsilverlight
>>>>
>>>>
>>> _______________________________________________
>>> ozsilverlight mailing list
>>> [email protected]
>>> http://prdlxvm0001.codify.net/mailman/listinfo/ozsilverlight
>>>
>> _______________________________________________
>> ozsilverlight mailing list
>> [email protected]
>> http://prdlxvm0001.codify.net/mailman/listinfo/ozsilverlight
>>
>>
>> _______________________________________________
>> ozsilverlight mailing list
>> [email protected]
>> http://prdlxvm0001.codify.net/mailman/listinfo/ozsilverlight
> _______________________________________________
> ozsilverlight mailing list
> [email protected]
> http://prdlxvm0001.codify.net/mailman/listinfo/ozsilverlight
>
> _______________________________________________
> ozsilverlight mailing list
> [email protected]
> http://prdlxvm0001.codify.net/mailman/listinfo/ozsilverlight
>
> _______________________________________________
> ozsilverlight mailing list
> [email protected]
> http://prdlxvm0001.codify.net/mailman/listinfo/ozsilverlight
>
_______________________________________________
ozsilverlight mailing list
[email protected]
http://prdlxvm0001.codify.net/mailman/listinfo/ozsilverlight


_______________________________________________
ozsilverlight mailing list
[email protected]
http://prdlxvm0001.codify.net/mailman/listinfo/ozsilverlight

Reply via email to