Access canvas elements of Kivy widgets
<p>I've drawn a widget background using a <code>RoundedRectangle</code> in a kv file. Now I want to create a different widget and the only difference from this one is the background color. The properties approach (suggested by @inclement) gives me a strange error. For some reason, the property works when I use it in a different place (<code>cursor_color</code>, for example) so I'd expect it to work here. So, the new question is why isn't that property getting recognized?</p>

<pre><code>&lt;Message&gt;:
    BoxLayout:
        colour_property: 0.99, 0.99, 0.99, 1
        canvas:
            Color:
                rgba: 0.8, 0.8, 0.8, 1
            RoundedRectangle:
                pos: root.pos
                size: self.size
            Color:
                rgba: self.colour_property
            RoundedRectangle:
                pos: root.x + 1, root.y + 1
                size: self.width - 2, self.height - 2

        TextInput:
            pos: root.pos
            size: root.size  
</code></pre>

<p>And the Python code:</p>

<pre><code>class Message(Widget):
    colour_property = ListProperty([0.99, 0.99, 0.99, 1])
    def __init__(self, **kwargs):
        self.colour_property = ListProperty([0.99, 0.99, 0.99, 1])
        super(Message, self).__init__(**kwargs)
</code></pre>

<p>The error occurs when parsing the <code>rgba: self.colour_property</code> line.  </p>