Replies
Setting UseLayoutRounding="True" along with BarsFillMode="EnsureEqualSize" and Stretch="Uniform" seems to have done the trick.
Thanks for the reply, but I'm finding that if I have any scaling on the barcode it becomes unscannable.
As an experiment I changed the code that defines the barcode so I could see the effect in the designer and used a barcode reader app on my phone, rather than having to run my application each time.
<ig:XamCode128Barcode CodeType="Standard" Data="{Binding Sku}" ErrorMessageText="" BarsFillMode="EnsureEqualSize" Background="Transparent"> <ig:XamCode128Barcode.RenderTransform> <ScaleTransform CenterX="0.5" CenterY="0.5" ScaleX="0.9" ScaleY="0.9"/> </ig:XamCode128Barcode.RenderTransform> </ig:XamCode128Barcode>
With this code any value in the ScaleX and ScaleY properties rendered the barcode unscannable. If I took the scale out then the barcode would scan.
We need to be able to scale the barcode so that it can fit on the 1" x 2" labels our customer uses.
I realised this morning that the problem isn't in the barcode.
I'd forgotten that the barcode is inside a grid and it's the grid's ActualHeight and ActualWidth that aren't set.
Sorry to have misled you.
The `Stretch` value is the default. Here's the code I'm using to define the Barcodes:
<ig:XamInterleaved2Of5Barcode Data="{Binding Sku}" BarsFillMode="FillSpace" MinHeight="50" MinWidth="50"/>
The only other difference is that the barcode is inside a Grid on a Canvas.
The code I'm using sets the Height and Width directly and while I'm resizing the handles fit around the barcode correctly.
I have created a simple project that reproduces this issue. I’ve uploaded the file to my Google Drive folder.
It just consists of a main page with a single button that opens the child window whose contents (another button) are wrapped in a busy indicator. In this version the busy indicator is permanently on and you can see that that the button is greyed out but the busy indicator is not visible.
I've done some further investigation and have found the following:
- The notification of the `IsBusy` property changing value is definitely getting to the view.
- If I hard code the `BusyIndicator` to be `Busy` it still doesn't appear, but the contents of the view (in this case a `XamGrid` are no longer selectable (I can't select the grid cells or row).
- Swapping the `XamGrid` for other, simpler, controls such as a `TextBlock` or `Button` shows exactly the same behaviour.
- In fact careful examination reveals that the content is in fact disabled during the period when the `BusyIndicator` should be visible.
- We're using a custom style for the `BusyIndicator` but even when I remove this I get the same behaviour.
This leads me to think that the `BusyIndicator` is getting shown but is for some reason completely transparent.